永发信息网

C语言编程请教!!急!!

答案:3  悬赏:20  手机版
解决时间 2021-04-22 13:38

编程实现用最小元素法对输入的10个数由小到大排序。(引入变量k,减少交换次数)

参考程序:

#include <stdio.h>

main()

{ int a[11],i,j,k,x;

printf("Input 10 numbers:\n");

for(i=1;i<11;i++)

scanf("%d",&a[i]);

printf("\n");

for(i=1;i<10;i++)

{ ______________;

for(j=i+1;j<=10;j++)

if(a[j]<a[k]) __________;

if____________

{ x=a[i]; a[i]=a[k]; a[k]=x;}

}

printf("The sorted numbers:\n");

for(i=1;i<11;i++)

printf("%d ",a[i]);

}

最佳答案

#include <stdio.h>


main()


{ int a[11],i,j,k,x;


printf("Input 10 numbers:\n");


for(i=1;i<11;i++)


scanf("%d",&a[i]);


printf("\n");


for(i=1;i<10;i++)


{ k=i;


for(j=i+1;j<=10;j++)


if(a[j]<a[k]) k=j;


if (k!=i)


{ x=a[i]; a[i]=a[k]; a[k]=x;}


}


printf("The sorted numbers:\n");


for(i=1;i<11;i++)


printf("%d ",a[i]);


}

全部回答
第一空: k = i; 第二空:k = j; 第三空:( k != i ) 望采纳

OK. 看看下面加粗的部分. #include <stdio.h>

main()

{ int a[11],i,j,k,x;

printf("Input 10 numbers:\n");

for(i=1;i<11;i++)

scanf("%d",&a[i]);

printf("\n");

for(i=1;i<10;i++)

{ k=i;

for(j=i+1;j<=10;j++)

if(a[j]<a[k]) k=j;

if(a[k]<a[i])

{ x=a[i]; a[i]=a[k]; a[k]=x;}

}

printf("The sorted numbers:\n");

for(i=1;i<11;i++)

printf("%d ",a[i]);

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
急求网上品牌女装折扣批发源
朋友的女儿出嫁祝福语
玩DNF怎么样才可以加疲劳度
孙连城语录胸怀宇宙,为什么说孙连城胸怀宇宙
好友买卖 总资产突然少了10来万 百思不得其解
炫舞怎么样才能打到更多的点卷?
爱情祝福词语,生日祝福的成语接龙 最好长一点
用什么可以去斑
请问这道算术题怎么解?
红米手机怎样设置铃声,红米手机怎么将喜欢的
银矿坳地址在什么地方,想过去办事
呼市哪有卖NBA正版球衣的?价钱是多少?
问一首歌曲的名
谁有;我敢去爱;这歌url
家庭责任感的名言,有责任心、责任感的 名人名
推荐资讯
请高手帮看下600981这支股.6.1进.现在是该抛
魔兽世界坐标怎么看,魔兽世界多玩魔盒怎么只
吃河蚌的肉对人身体有害么?
月经推迟几天可用试纸测出怀孕?
南京有哪些景点值得去玩
天龙里外功形的宝宝都有哪些啊
<算法导论>和<算法的艺术>哪个更基础?
2016春季蘑菇街校招结束了吗
期盼归来的句子,青草依依,白梦离离,佳人俏
真三国无双OL关于铁矛
三星G810哪能买到
你认为你是个可以信任的人吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?