C语言中,以命令行输入一组数字,并以从小到大排序输出!

需要用到atoi函数!比如说连续输入12 ,09 ,27,58,01等数字 先用这个函数把输入的12等数字转换成代表大小的数值,赋值给一个数组,然后比较大小,从小到大排列后再赋值给另外一个数组。并输出结果!

楼上的都没明白楼主的意思。O(∩_∩)O~
#include<stdio.h>
#include <math.h>
#define N 10
void main()
{
char a[5];
int i,n,temp;
int num1[N],num2[N];
printf("请输入要输入的数字个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",a);
num1[i]=atoi(a);
}
for(int j=0;j<n;j++) //从小到大排序
for(int k=j+1;k<n;k++)
{
if(num1[j]>num1[k])
{
temp=num1[j];
num1[j]=num1[k];
num1[k]=temp;
}
}
for(i=0;i<n;i++)
num2[i]=num1[1];
printf("排列后的数组是:\n");
for(i=0;i<n,i++)
{
if(i%5==0) putchar('\n');
printf("%d\t",num2[i]);
}
system("pause");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-15
#include<stdio.h>
void main()
{
int n[5],temp;
for(int i=0;i<5;i++)
scanf("%d",&n[i]); //数组输入
for(int j=0;j<5;j++) //从小到大排序
for(int k=j+1;k<5;k++)
{
if(n[j]>n[k])
{
temp=n[j];
n[j]=n[k];
n[k]=temp;
}
}
for(int l=0;l<5;l++)
printf("%d ",n[l]);

}
第2个回答  2011-11-15
#include<stdio.h>

void main()
{
int i,j,test;
int a[5];
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}

for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(a[i]<a[j])
{
test=a[i];
a[i]=a[j];
a[j]=test;

}

}

}

for(i=0;i<5;i++)
{
printf("%d,",a[i]);

}

}追问

你这个函数我输入系统 没输出啊!

第3个回答  2020-01-27
楼上的都没明白楼主的意思。O(∩_∩)O~
#include
#include
#define
N
10
void
main()
{
char
a[5];
int
i,n,temp;
int
num1[N],num2[N];
printf("请输入要输入的数字个数:");
scanf("%d",&n);
for(i=0;i
num1[k])
{
temp=num1[j];
num1[j]=num1[k];
num1[k]=temp;
}
}
for(i=0;i
评论
0
0
0
加载更多
相似回答