运行后只能输入姓名,别的不能运行,咋回事
运行后只能输入姓名,别的不能运行,怎么回事?
#include <stdio.h>
int main()
{
int x;
char y;
printf("请输入学生姓名:\n");
scanf("%c",&y);
printf("请输入学生成绩:\n");
scanf("%d",&x);
if(x>=0 && x<60) printf("%c,的成绩为:%d分 评价:不及格\n",y,x);
else if(x>=60 && x<80) printf("%c,的成绩为:%d分 评价:及格\n",y,x);
else if(x>=80 && x<90) printf("%c,的成绩为:%d分 评价:良好\n",y,x);
else if(x>=90 && x<=100) printf("%c,的成绩为:%d分 评价:优秀\n",y,x);
else printf("您的输入分数的是%d,请重新输入\n",x);
return 0;
}
------解决方案--------------------
scanf("%c",&y);应该是%s阿!!
------解决方案--------------------
姓名只用一个字符?
------解决方案--------------------
不知道你使用的工具是哪个 我用VS2005测试过这段代码没问题
------解决方案--------------------
#include <stdio.h>
int main()
{
int x;
char y;
printf("请输入学生姓名:\n");
scanf("%c",&y);
printf("请输入学生成绩:\n");
scanf("%d",&x);
if(x>=0 && x<60) printf("%c,的成绩为:%d分 评价:不及格\n",y,x);
else if(x>=60 && x<80) printf("%c,的成绩为:%d分 评价:及格\n",y,x);
else if(x>=80 && x<90) printf("%c,的成绩为:%d分 评价:良好\n",y,x);
else if(x>=90 && x<=100) printf("%c,的成绩为:%d分 评价:优秀\n",y,x);
else printf("您的输入分数的是%d,请重新输入\n",x);
return 0;
}
------解决方案--------------------
scanf("%c",&y);应该是%s阿!!
------解决方案--------------------
姓名只用一个字符?
------解决方案--------------------
不知道你使用的工具是哪个 我用VS2005测试过这段代码没问题
------解决方案--------------------
- C/C++ code
#include <stdio.h> int main() { int x; char y[50]; printf("请输入学生姓名:\n"); scanf("%s",&y); printf("请输入学生成绩:\n"); scanf("%d",&x); if(x>=0 && x<60) printf("%s的成绩为:%d分 评价:不及格\n",y,x); else if(x>=60 && x<80) printf("%s的成绩为:%d分 评价:及格\n",y,x); else if(x>=80 && x<90) printf("%s的成绩为:%d分 评价:良好\n",y,x); else if(x>=90 && x<=100) printf("%s的成绩为:%d分 评价:优秀\n",y,x); else printf("您的输入分数的是%d,请重新输入\n",x); return 0; }
------解决方案--------------------
把 char y; 改成 char y[100]; scanf("%s", y);
------解决方案--------------------
#include <stdio.h>
int main()
{
int x;
char y[20];//改动,还有下面的输出我也改了,对比一下
printf("请输入学生姓名:\n");
scanf("%s",&y);
printf("请输入学生成绩:\n");
scanf("%d",&x);
if(x>=0 && x<60) printf("%s,的成绩为:%d分 评价:不及格\n",y,x);
else if(x>=60 && x<80) printf("%s,的成绩为:%d分 评价:及格\n",y,x);
else if(x>=80 && x<90) printf("%s,的成绩为:%d分 评价:良好\n",y,x);
else if(x>=90 && x<=100) printf("%s,的成绩为:%d分 评价:优秀\n",y,x);
else printf("您的输入分数的是%d,请重新输入\n",x);
return 0;
}