重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C语言用switch语句进行成绩等级判断可以采用以下的代码:
目前成都创新互联已为近1000家的企业提供了网站建设、域名、虚拟主机、网站托管、企业网站设计、德令哈网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
main()
{int i,a;
scanf("%d",a);
i=a/10;
switch a
{case '10':
case '9': printf("A"); break;
case '8': printf("B"); break;
case '7': printf("C"); break;
case '6': printf("D");
else printf("E");
}
}
扩展资料:
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
C语言程序语句
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch ( 变量表达式 )
{
case 常量1 :语句;break;
case 常量2 :语句;break;
case 常量3 :语句;break;
...
case 常量n:语句;break;
default :语句;break;
}
参考资料来源:百度百科-switch (计算机语言关键字)
分数n
switch(n/10)
{
case 9:printf("A(最好)\n");break;
case 8:printf("B(优秀)\n");break;
case 7:printf("C(良好)\n");break;
case 6:printf("D(及格)\n");break;
default:printf("不及格");
}
首先指出你的疑问:因为你的switch语句在最后一个if语句中,也就是说,当分数为s=0s=49时才执行switch语句,此时x==5。于是就执行case 5了。
修改:把switch语句与if语句并列。
更好的:你为什么用了if语句还要用switch语句呢,直接在if语句中输出不就行了吗?
还有输入quit退出的问题:建议使用scanf在接收字符串n。接收字符串n后判断是否等于”quit“,如果等于则break,退出while循环,否则往下执行。判断时可以用strcmp函数进行判断,也可以逐个的对字符串n进行判断。
为什么要用scanf而不用gets:当进行下一次的输入时,上次输入完分数后的回车会被这次的gets给吃掉;于是就会发现,当进行这次的输入时,”please enter your name“, ”please enter your score.“会同时出现。
下面是我帮你修改的程序,基本上没动。
#includestdio.h
#includeconio.h
int main()
{
int s,x;
char n[5];
while(1)
{
printf("\n please enter your name:");
scanf("%s", n);
if(n[0]=='q' n[1]=='u' n[2]=='i' n[3]=='t')
{
break;
}
else printf("\n please enter your score.");
scanf("%d",s);
if(s=80s=100)
{
x=1;
}
else if(s=70s=79)
{
x=2;
}
else if(s=60s=69)
{
x=3;
}
else if(s=50s=59)
{
x=4;
}
else if(s=0s=49)
{
x=5;
}
switch(x)
{
case 1:
printf("HD");
break;
case 2:
printf("D");
break;
case 3:
printf("C");
break;
case 4:
printf("C");
case 5:
printf("N");
break;
default:
printf("\n please enter a number between 0 and 100");
}
}
return 0;
}
这是我自己随意修改的:
#includestdio.h
#includeconio.h
#include string.h
int main()
{
int s,x;
char n[5];
while(1)
{
printf("\n please enter your name:");
scanf("%s", n);
if(strcmp(n, "quit")==0)
{
break;
}
else printf("\n please enter your score.");
scanf("%d",s);
if(s=80s=100)
{
printf("HD");
}
else if(s=70s=79)
{
printf("D");
}
else if(s=60s=69)
{
printf("C");
}
else if(s=50s=59)
{
printf("C");
}
else if(s=0s=49)
{
printf("N");
}
else
{
printf("\n please enter a number between 0 and 100");
}
}
return 0;
}
用if语句判定就行了呀,首先判定输出成绩是否有效即成绩score0||score100,让重新输入。其次判定E,score60,D,score=60score70,C,score=70score80,B,score=80score90,A,score=90,对应输出就行。
#include "stdio.h"
int main()
{
int score;
printf("请输入一个成绩:");
scanf("%d",score);
if(score60 score=100)
printf("成绩合格\n");
else if(score60 score=0)
printf("成绩不合格\n");
else
printf("输入的成绩有误\n");
}
例如:
#includestdio.h
int main()
{
int a[5];
int i, index = 0;
printf("请输入五个学生的成绩, 用空格隔开:\n");
for(i = 0; i 5; ++i)
{
zhiscanf("%d", a[i]);
}
index = 0;
for (i = 0; i 5; ++i)
{
if (a[index] a[i])
{
index = i;
}
}
printf("最高分:%d\n", a[index]);
printf("不及格分数:\n");
for(i = 0; i 5; ++i)
{
if (a[i] 60)
{
printf("%d\n", a[i]);
}
}
}
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
参考资料来源:百度百科-c语言
代码文本:
#include "stdio.h"
double tol_ave(int a[],int n,int *s){
int i;
for(*s=0,i=0;in;*s+=a[i++]);
return *s/(n+0.0);
}
void level(int a[],int n){
int v,g,m,p,f;
for(v=g=m=p=f=0,n--;n=0;n--){
v += a[n]=90;
g += a[n]=80 a[n]90;
m += a[n]=70 a[n]80;
p += a[n]=60 a[n]70;
f += a[n]60;
}
printf("优秀\t良好\t中等\t及格\t不及格\n");
printf("======================================\n");
printf(" %d\t %d\t %d\t %d\t %d\n",v,g,m,p,f);
}
int main(int argc,char *argv[]){
int sum,a[1000],i,n;
double ave;
printf("输入学生人数:");
if(scanf("%d",n)!=1 || n1 || n1000){
printf("Input error, exit...\n");
return 0;
}
printf("请输入%d个学生的成绩...\n",n);
for(i=0;in;scanf("%d",a+i++));//输入成绩
ave=tol_ave(a,n,sum);
printf("\n总 分: %d\t平均分: %.2f\n",sum,ave);
printf("\n等级分布如下:\n");
level(a,n);
putchar('\n');
return 0;
}