c语言请教~
voidmain(){inti,j,p,q,s,a[10];printf("\ninput10numbers:\n");for(i=0;i<10;i++)scanf("%...
void main()
{
int i,j,p,q,s,a[10];
printf("\n input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++){
p=i;q=a[i];
for(j=i+1;j<10;j++)
if(q<a[j]) { p=j;q=a[j]; }
if(i!=p)
{s=a[i];
a[i]=a[p];
a[p]=s; }
printf("%d",a[i]);
}
}
看不明白... 展开
{
int i,j,p,q,s,a[10];
printf("\n input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++){
p=i;q=a[i];
for(j=i+1;j<10;j++)
if(q<a[j]) { p=j;q=a[j]; }
if(i!=p)
{s=a[i];
a[i]=a[p];
a[p]=s; }
printf("%d",a[i]);
}
}
看不明白... 展开
6个回答
展开全部
这个是用选择法进行对输入10个数的排序。你可以参考以下程序。
#include<stdio.h>
void main()
{int i,j,temp,min,a[10];
printf("Please enter the data:\n");
for(i=0;i<10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
printf("The orginal data is:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
for(i=0;i<9;i++) /*首先数字从第一个开始比较a[0]*/
{min=i; /*把i的值赋给min,用其保存*/
for(j=i+1;j<10;j++)
{if(a[min]>a[j])min=j; /*第一个值与其后各值比较,把小值均赋给min*/
temp=a[min]; /*然后交换a[min]与a[i]的值,此时排序已完成*/
a[min]=a[i];
a[i]=temp;}}
printf("\nNow the sorted data is:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]); /*输出a[i]的值*/
}
仔细理解一下,会看懂的。
#include<stdio.h>
void main()
{int i,j,temp,min,a[10];
printf("Please enter the data:\n");
for(i=0;i<10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
printf("The orginal data is:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
for(i=0;i<9;i++) /*首先数字从第一个开始比较a[0]*/
{min=i; /*把i的值赋给min,用其保存*/
for(j=i+1;j<10;j++)
{if(a[min]>a[j])min=j; /*第一个值与其后各值比较,把小值均赋给min*/
temp=a[min]; /*然后交换a[min]与a[i]的值,此时排序已完成*/
a[min]=a[i];
a[i]=temp;}}
printf("\nNow the sorted data is:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]); /*输出a[i]的值*/
}
仔细理解一下,会看懂的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
排序算法中的选择排序,,仔细看一下吧, 数据结构里面有
建议弄懂其 算法的思想,
扫描数组,选择最大,或最小的数依次从a[0]排到a[i]
建议弄懂其 算法的思想,
扫描数组,选择最大,或最小的数依次从a[0]排到a[i]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是把数组里的数从大到小排列的.这个程序写的不好.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是个选择排序程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询