#include<stdio.h>
double main()
{
int grade = 0,level=0;
printf("请输入成绩");
scanf("%d", grade);
level = grade / 10;
switch (level)
{
case 1 ... 5:printf("你不及格");
}
return 0;
}
case里面的范围运行不了,系统提示中间的三点应输入":"。
#include<stdio.h>
double main()
{
int grade = 0,level=0;
printf("请输入成绩");
scanf("%d", grade);
level = grade / 10;
switch (level)
{
case 9: printf("你的成绩是A");
...
}
return 0;
供参考:https://blog.csdn.net/qq_44708202/article/details/129945074
不知道你这个问题是否已经解决, 如果还没有解决的话:最近做电能表相关通信协议的工作,看了些开源代码,发现在一些有相同属性的变量处理上使用到了switch case语句,设计得比较精妙,当有多个属性相同的case值的时候可以执行具有相同属性的同一个语句,比如在通信协议中收到的电流、电压、有功功率帧数据都需要进行BCD码转float型的时候就可以用一个语句解决三种情况下的处理工作。
优化的问题是如何输入多组数据并输出每组的和。
可以使用以下的代码来解决这个问题。
while True:
try:
x, y = map(int, input().split())
print(x + y)
except:
break
这段代码中,while循环不断读取输入,直到输入结束为止。使用try-except
结构来捕捉输入异常,当输入结束时,会抛出异常从而退出循环。
在循环中,使用input()
函数读取一行输入,并使用split()
方法将输入按空格分割成多个部分。然后使用map()
函数将每个部分转换为整数,并赋值给变量x和y。最后输出x和y的和。
通过这种方式,可以实现同时输入多个数并输出每个数的和。