1.
通过键盘输入6名学生的成绩,输出6名学生的成绩, 使用冒泡法对班级学生的成绩升序排序,输出排序后成绩
/*通过键盘输入6名学生的成绩,输出6名学生的成绩,
* 使用冒泡法对班级学生的成绩升序排序,输出排序
* 后成绩。* */
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,temp,score[6];
for(i=0;i<6;i++){
printf("第%d位同学成绩:",i+1);
scanf(" %d",&score[i]);
}
for(i=0;i<5;i++){
for(j=0;j<5-i;j++){
if(score[j]>score[j+1]){
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
for(i=0;i<6;i++){
printf("%-4d",score[i]);
}
putchar(10);
return 0;
}
2.
定义一个双精度浮点型数组,存放十个学生成绩,输入十名学生成绩,输出赋值后的所有元素。使用选择排序,完成降序排序后输出,并求出平均分,并统计出大于平均分学生的比重,输出结果。
/*定义一个双精度浮点型数组,存放十个学生成绩,输入十名学生成绩,输出赋值后的所有元素。使用选择排序,完成降序排序后输出,并求出平均分,并统计出大于平均分学生的比重,输出结果。
* */
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,max;
double score[10],ave,sum=0,temp;
for(i=0;i<10;i++){
printf("第%2d位学生成绩:",i+1);
scanf(" %lf",&score[i]);
sum+=score[i];
}
for(i=0;i<9;i++){
max=i;
for(j=i+1;j<10;j++){
if(score[j]>score[max]){
max=j;
}
}
if(max!=i){
temp=score[i];
score[i]=score[max];
score[max]=temp;
}
}
ave = sum/10;
for(i=0;i<10;i++){
printf("%-7.2lf",score[i]);
}
putchar(10);
printf("平均分为:%.2lf\n",ave);
for(i=0;i<10;i++){
if(score[i]<ave)
break;
}
printf("高于平均分比重为:%.2lf\n",(float)i/10);
return 0;
}