本文目录一览:
C语言程序中for循环和switch的用法?
# includestdio.h
int i, j, num[5], p;
char order;
float score[5], sum = 0.0, average, t, u;
void PrintAll() {
for (i = 0; i 5; i++) { // 依次输出学号成绩//
printf("%d,%7.2f", num[i], score[i]);
printf("\n");
}
}
void ComputeAverage() {
average = sum / 5.0; // 平均成绩//
printf("全班平均成绩为%7.2f\n", average);
}
void Sort() {
for (j = 0; j 4; j++) // 成绩由高到低排序//
for (i = 0; i 4 - j; i++)
if (score[i] score[i + 1]) {
t = score[i + 1];
score[i + 1] = score[i];
score[i] = t;
u = num[i + 1];
num[i + 1] = num[i];
num[i] = u;
}
for (i = 0; i 5; i++)
printf("%d,%5.2f\n", num[i], score[i]);
}
void PrintCxcellent() {
for (i = 0; i 5; i++) { // 输出大于等于80分的学号成绩
if (score[i] = 80)
printf("学号:%d成绩:%5.2f\n", num[i], score[i]);
}
}
char Menu() {
printf("A:输出全班学生的学号和成绩\n");
printf("B:计算并输出全班的平均成绩\n");
printf("C:降序并输出全班学号与成绩\n");
printf("D:显示=80分以上学生\n");
printf("请选择(A~D):");
return getchar();
}
int main() {
for (i = 0; i 5; i++) {
printf("请输入学号:\n");
scanf("%d", num[i]);
printf("请输入成绩:\n");
scanf("%f", score[i]);
sum = sum + score[i];
}
switch (Menu()) {
case 'A':
PrintAll();
break;
case 'B':
ComputeAverage();
break;
case 'C':
Sort();
break;
case 'D':
PrintCxcellent;
break;
}
return 0;
}
//你看我改动的,估计老师出题应该我这样理解的。
C语言之for循环和switch?
1、不能,switch中的break只能结束当前case,与外层for无任何关联。
2、case 后常量代表的switch(n)中不同的值,比如说上面的case 3:即代表当n为3时执行。
c语言 switch和for
选A,for循环第一次k=1,进入switch此时选择default:c=c+k,故c=1,继续运行,由于没有break,则将进入case
2,此时c=c+1,故c=2,break,进入第二次循环,此时k=2,switch选择c++,即c=3,break进入第三次循环,由于k=3不满足k3的条件,故不进入循环体,因此打印输出c的值为3
c语言中while 、for、switch、case的用法?
1、while() for都是循环语句,使用格式:
while(条件表达式)
{ }
for(表达式1;表达式2;表达式3)
{
}
2、switch是多分支选择语句,case是switch语句中的一个关键字,用来判断从哪个位置开始执行语句。
格式:
switch(表达式)
{case 常量表达式: .....
case 常量表达式: .....
case 常量表达式: .....
default: ....
}
注意:switch语句结束的条件:碰到break语句,或执行到}