从键盘输入一个人班的成绩 怎么用 do while 和continue语句

2020-06-10 教育 130阅读
#include 
#include 
#define ARR_LEN 255 /*数组长度上限*/
#define elemType int /*元素类型*/
/* 学生信息数据结构 */
typedef struct stuElem {
float score; /* 成绩 */
char lv; /* 成绩等级 */
} stuElem;
int main (void) {
stuElem stu[ARR_LEN];
float scoreTmp;
char lv;
int stuCnt = 0; 
int i = 0;

printf ("输入成绩(输入-1结束)\n");
do {
scanf ("%f", &scoreTmp);
if (scoreTmp == -1) /* 输入-1结束 */
break;
if (scoreTmp<0 || scoreTmp>100) {
printf ("成绩数值应在0~100之间!请重新输入!\n");
continue; /* 直接执行下一次循环,以重新输入 */
}
stu[i].score = scoreTmp; /* 成绩存入数组 */
i++;
} while (1);
stuCnt = i;

for (i=0; i switch ((int)stu[i].score/10) { /* 成绩除以10取整 */
case 10:
case 9: stu[i].lv = 'A'; break;
case 8: stu[i].lv = 'B'; break;
case 7: stu[i].lv = 'C'; break;
case 6: stu[i].lv = 'D'; break;
default : stu[i].lv = 'E'; break;
}
}

printf ("共%d名学生:\n", stuCnt);
printf ("序号\t成绩\t等级\n"); 
for (i=0; i printf ("%d\t%.2f\t%c\n", i+1, stu[i].score, stu[i].lv);

getch (); /* 屏幕暂留 */ 
return 0 ;
}

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com