首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

运行后只能输入姓名,别的不能运行,咋回事

2012-04-08 
运行后只能输入姓名,别的不能运行,怎么回事?#include stdio.hint main(){int xchar yprintf(请输入学

运行后只能输入姓名,别的不能运行,怎么回事?
#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;


热点排行