优化此程序段:void view(struct student *list,int amount) { int i=0; float average=0; printf("\n 学号 总评 等级 \n"); for(i=0;i<amount;i++) { average+=list[i].score; printf("%10s %6.1f %c \n",list[i].code,list[i].score,list[i].grade); } average/=amount; printf(" 本班总人数 %d 本班平均成绩 %.1f\n",amount,average); printf("\n\n\n\n\n ***** 摁任意键继续! ****** \n"); getch(); } void paixu(struct student *list,int amount) { float temp; char temp1; char temp2[10]; int i,j; for(i=0;i<amount;i++) for(j=i+1;j<amount;j++) { if(list[j].score>list[i].score) { temp=list[j].score; list[j].score=list[i].score; list[i].score=temp; strcpy(temp2,list[j].code); strcpy(list[j].code,list[i].code); strcpy(list[i].code,temp2); temp=list[j].s1; list[j].s1=list[i].s1; list[i].s1=temp; temp=list[j].s2; list[j].s2=list[i].s2; list[i].s2=temp; temp=list[j].s3; list[j].s3=list[i].s3; list[i].s3=temp; temp1=list[j].grade; list[j].grade=list[i].grade; list[i].grade=temp1; } } view(list,amount); }
时间: 2024-04-06 21:33:00 浏览: 33
优化后的程序如下:
void view(struct student *list, int amount) {
float sum = 0, average = 0;
printf("\n 学号 总评 等级 \n");
for (int i = 0; i < amount; i++) {
sum += list[i].score;
printf("%10s %6.1f %c \n", list[i].code, list[i].score, list[i].grade);
}
average = sum / amount;
printf(" 本班总人数 %d 本班平均成绩 %.1f\n", amount, average);
printf("\n\n\n\n\n ***** 摁任意键继续! ****** \n");
getch();
}
void paixu(struct student *list, int amount) {
for (int i = 0; i < amount; i++) {
for (int j = i + 1; j < amount; j++) {
if (list[j].score > list[i].score) {
struct student temp = list[j];
list[j] = list[i];
list[i] = temp;
}
}
}
view(list, amount);
}
优化的主要点有:
1. 在计算平均值时,可以在循环内部累加总成绩,避免重复遍历;
2. 在排序时,可以使用结构体变量进行交换,避免多个变量的交换操作;
3. 在排序后可以直接调用 view 函数,避免代码冗余。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![ppt](https://img-home.csdnimg.cn/images/20241231044937.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![ppt](https://img-home.csdnimg.cn/images/20241231044937.png)
![ppt](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)