求一个C语言的答案。设一个整型数组有20个元素,请输入该数组中的元素,...

求一个C语言的答案。设一个整型数组有20个元素,请输入该数组中的元素,并用冒泡排序将该数组按从小到大排序并输出。

#include<stdio.h>
main()
{
int num[20],t;
for(int i=0;i<20;i++)
{
printf("输入第%d个元素\n",(i+1));
scanf("%d",&num[i]);
}
for(int i=0;i<20;i++)
for(int j=0;j<20-i;j++)
{
if(num[j]>num[j+1])
{t=num[j];
num[j]=num[j+1];
num[j+1]=t;}
}
for(int i=0;i<20;i++)
printf("%d ",num[i]);
// while(1);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-31
#include<stdio.h>
#include<stdlib.h>
int a[20];
int main()
{
printf("请输入20个整数:\n");
int i,j;
for(i = 0;i < 20;i++)
scanf("%d",&a[i]);
printf("您输入的20个整数为:\n");
for(i = 0;i < 20;i++)
printf("%d\t",a[i]);
printf("\n排序后的数组为:\n");
for(i = 0;i < 19;i++)
{
for(j = i + 1;j < 20;j++)
{
if(a[j] < a[i])
{
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
for(i = 0;i < 20;i ++)
printf("%d\t",a[i]);
system("pause");
return 0;
}
第2个回答  2012-03-31
int a[20];
int t;
int i,j;
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(j=0;j<19;j++)
for(i=0;i<19-j;i++)
if(a[i]>a[i+1])
{
t = a[i];
a[i] = a[i+1];
a[i+1] = t;
}
for(i=0;i<20;i++)
printf("%d ",a[i];)
第3个回答  2012-03-31
#include<stdio.h>
int main(void)
{
int a[20];
int i,j,n;
printf("请输入20个整数..\n");
for(i=0;i<20;i++)
{
scanf("%d ",&a[i]);
}
printf("\n");
for(i=0;i<19;i++)
for(j=0;j<19-i;j++)
{
if(a[j]>a[j+1])
{
n=a[j];
a[j]=a[j+1];
a[j+1]=n;
}
}

printf("数组从小到大输出为:");
for(i=0;i<20;i++)
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
相似回答