资源描述:
《北理工C语言3》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、的3-1.编程,任意输入10个整数,按从小到大的顺序输出。结果:输入:9、7、8、6、7、5,输出:5、6、7、7、8、9。分析:用选择法排序。main()/*sj1-3-1*/{intj,k,e,t,a[10];for(j=0;j<10;j++)scanf("%d",&a[j]);for(j=0;j<9;j++){t=j;for(k=j+1;k<10;k++)if(a[t]>a[k])t=k;e=a[t];a[t]=a[j];a[j]=e;}for(k=0;k<10;k++)printf("%5d"
2、,a[k]);printf("");}3-2.编程,任意输入10个人的成绩,按从大到小的顺序排列。运行程序时,只要输入名次,计算机就能输出该名次对应的成绩。结果:输入:4、7、3、6、1、5,12,0,23,-1输入:4输出:The4this6分析:用选择法排序。第n名是a[n-1]。main()/*sj1-3-2*/{intj,k,e,t,n,a[10];for(j=0;j<10;j++)scanf("%d",&a[j]);printf(“nputanumber:”);scanf(“%d”,
3、&n);for(j=0;j<9;j++){t=j;for(k=j+1;k<10;k++)if(a[t]>a[k])t=k;e=a[t];a[t]=a[j];a[j]=e;}printf(“The%dthis%d”,n,a[n-1]);for(k=0;k<10;k++)printf("%5d",a[k]);printf("");}3-3.编程,输入10个人的序号和成绩,对成绩从小到大排序,输出排序后的序号和成绩。结果:输入:1,102,93,84,75,66,77,88,99,1210,0输出:
4、10:05:64:76:73:87:82:98:91:109:12。分析:用选择法排序。a[j][0]--序号,a[j][1]--成绩。main()/*sj1-3-3*/{intj,k,e,t,a[10][2];for(j=0;j<10;j++)scanf("%d,%d",&a[j][0],&a[j][1]);for(j=0;j<9;j++){t=j;for(k=j+1;k<10;k++)if(a[t][1]>a[k][1])t=k;e=a[t][0];a[t][0]=a[j][0];a[j][0]=
5、e;e=a[t][1];a[t][1]=a[j][1];a[j][1]=e;}for(k=0;k<10;k++)printf("%5d:%5d",a[k][0],a[k][1]);printf("");}3-4.编程,输入10个人的序号和成绩,对成绩从从大到小进行排序,输出排序后的序号和成绩。结果:输入:1,102,93,84,75,66,77,88,99,1210,0输出:9:12。1:108:92:97:83:86:74:75:610:0分析:用选择法排序。a[j][0]--序号,a[j]
6、[1]--成绩。main()/*sj1-3-4*/{intj,k,e,t,a[10][2];for(j=0;j<10;j++)scanf("%d,%d",&a[j][0],&a[j][1]);for(j=0;j<9;j++){t=j;for(k=j+1;k<10;k++)if(a[t][1]7、tf("%5d:%5d",a[k][0],a[k][1]);printf("");}3-5.编程,输入10个整数及其序号,求出10个整数的最大值、次大值、最小值和次小值,并输出它们原来输入时的序号。结果:输入:1,152.113,04,75,16,57,78,409,210,23输出:8:4010:233:05:1分析:用选择法排序。a[j][0]--序号,a[j][1]--成绩。交换时a[j][0]、a[j][1]一起交换。main()/*sj1-3-5*/{intj,k,e,t,a[10]
8、[2];for(j=0;j<10;j++)scanf("%d,%d",&a[j][0],&a[j][1]);for(j=0;j<9;j++){t=j;for(k=j+1;k<10;k++)if(a[t][1]