![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
c语言从键盘上输入N个整数保存在数组中,用选择法排序将其按升序排列并将结果显示
c语言问题:从键盘上输入N个整数保存在数组中,用选择法排序将其按升序排列并将结果显示出来,要求N用宏定义完成...
c语言问题:从键盘上输入N个整数保存在数组中,用选择法排序将其按升序排列并将结果显示出来,要求N用宏定义完成
展开
5个回答
展开全部
#include <stdio.h>
#include<stdlib.h>
#define N 10
void main()
{
int i,j,temp;
int *a=(int *)malloc(sizeof(int)*N);//因为你的N我不知道好大,所以就是这样定义数组。
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<N-1; i++)
{
for(j=i+1; j<N; j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0; i<N; i++) //输出已排好序的数组元素,域宽为左对齐3位
printf("%-3d",a[i]);
printf("\n");
}
#include<stdlib.h>
#define N 10
void main()
{
int i,j,temp;
int *a=(int *)malloc(sizeof(int)*N);//因为你的N我不知道好大,所以就是这样定义数组。
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<N-1; i++)
{
for(j=i+1; j<N; j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0; i<N; i++) //输出已排好序的数组元素,域宽为左对齐3位
printf("%-3d",a[i]);
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#define N 10
main()
{
int num[N];
int i,j;
int temp;
printf("inpute 10 integers:");
for(i=0; i<N; i++)
scanf("%d", &num[i]);
for(i=0; i<N-1; i++) /*控制比较的趟数*/
for(j=i+1; j<N; j++) /*控制每趟比较中找到最大的数*/
{
if(num[i]>num[j])
{
temp=num[i]; /*数组元素进行交换*/
num[i]=num[j];
num[j]=temp;
}
}
for(i=0; i<N; i++) /*输出已排好序的数组元素,域宽为4*/
printf("%4d",num[i]);
printf(" ok \n");
}
恩?那里不懂,可以说啊。。。。
#define N 10
main()
{
int num[N];
int i,j;
int temp;
printf("inpute 10 integers:");
for(i=0; i<N; i++)
scanf("%d", &num[i]);
for(i=0; i<N-1; i++) /*控制比较的趟数*/
for(j=i+1; j<N; j++) /*控制每趟比较中找到最大的数*/
{
if(num[i]>num[j])
{
temp=num[i]; /*数组元素进行交换*/
num[i]=num[j];
num[j]=temp;
}
}
for(i=0; i<N; i++) /*输出已排好序的数组元素,域宽为4*/
printf("%4d",num[i]);
printf(" ok \n");
}
恩?那里不懂,可以说啊。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#define N 4
int main()
{
int i,j,a[N],*p;;
p=a;
printf("请输入各个整数:\n");
for(i=0;i<N;i++)
{
scanf("%d,",p+i);
}
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
{
int temp;
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0;i<N;i++)
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
#define N 4
int main()
{
int i,j,a[N],*p;;
p=a;
printf("请输入各个整数:\n");
for(i=0;i<N;i++)
{
scanf("%d,",p+i);
}
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
{
int temp;
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0;i<N;i++)
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
#define N 10
void main()
{
int i, j, t, a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for (i = 0; i < 10-1; i++)
for (j = i+1; j < 10; j++)
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
for ( i = 0; i < 10; i++)
printf("%d ",a[i]);
printf("\n");
}
#define N 10
void main()
{
int i, j, t, a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for (i = 0; i < 10-1; i++)
for (j = i+1; j < 10; j++)
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
for ( i = 0; i < 10; i++)
printf("%d ",a[i]);
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上网冒泡排序或者折中法可解决此类问题
追问
可以再清楚点吗??谢啦···
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询