以下是一个C语言程序,该程序实现从键盘输入10个整数存放到数组中,然后进行从小到大的排序,最后输出该数

如题所述

#include "Stdio.h"

int main(void)
{
int arr[10],i,j,temp,k;
printf("please input ten data : ");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

/*从小到大排序*/
for(i=0;i<9;i++){
temp = arr[i];
for(j=i+1;j<10;j++){
if(temp>arr[j])
k = j;
}

arr[i] = arr[k];
arr[k] = temp;
}

for(i=0;i<10;i++)
printf("%-5d",arr[i]);

getch();
return 0;
}

我测试过了。。。。希望对有帮助。。。。使用的是选择排序法。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-24
#include <stdio.h>
void main()
{
int ar[10],i,j,temp=0;
printf("请输入十个整数:\n");
for(i=0;i<=9;i++)
scanf("%d",&ar[i]);//输入循环
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
if(ar[j]>ar[j+1])
{temp=ar[j];ar[j]=ar[j+1];ar[j+1]=temp;}//冒泡排序
for(i=0;i<=9;i++)
printf("%d ",ar[i]);//输出循环

}
利用冒泡法排序。
第2个回答  2011-04-24
for(i=0;i<10;i++)
scanf("%d",&s[i]);
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
在第一个for循环结束时,i的值已经为10,所以第二个for循环根本就不会运行,你把第二个for循环的i改成k,然后看看行不行!
第3个回答  2011-04-24
#include<stdio.h>
int main()
{
int a[10];
int i,j,t;
printf("input 10 number:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("teh sorted numbers:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
第4个回答  2013-01-03
正向输出;
main ()
{int i,a[10];
printf("innput 10 number :");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(i=0;i<=9;i++0
printf("%-4d",a[i]):}