|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
想在代码里输入字母来使用IF语句,但是做出来以后发现输入什么字母都会触发第一个if,else好像没起作用。不知道哪里出现了错误。麻烦了,谢谢!
下面是代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char a;
printf("欢迎使用分数评级系统!\n\
请您输入Y代表同意用户协议继续\n\
不同意请关闭程序\n\
输入E以查看用户协议\n");
scanf("%c",&a);
if(a = 'Y')
{
printf("感谢您的支持!\n");
}
else if(a = 'E')
{
printf("《用户协议》");
printf("\n\
请您输入Y代表同意用户协议继续\n\
不同意请关闭程序\n");
scanf("%c",&a);
if(a = 'Y')
{
printf("感谢您的支持!");
}
else
{
printf("输入错误!");
}
}
else
{
printf("输入错误!");
}
//分隔
printf("请输入分数:");
scanf("%d",&i);
if(i >= 90)
{
printf("级别为A\n");
}
else if(i >= 80 && i < 90)
{
printf("级别为B\n");
}
else if(i >= 70 && i < 80)
{
printf("级别为C\n");
}
else if(i >= 60 && i < 70)
{
printf("级别为D\n");
}
else
{
printf("级别为E\n");
}
return 0;
}
确实你的问题出现在了:=和==没分清上。
=:是给变量赋值的意思
==:是判断的运算符
所以你应该用==而不是=。
还有就是你的代码逻辑上是不合理的,你那样写:不管是否同意,都会让别人输入成绩!
所以不对,我改了你的代码:
代码如下:
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i,flag;
- char a;
- printf("欢迎使用分数评级系统!\n\
- 请您输入Y代表同意用户协议继续\n\
- 不同意请关闭程序\n\
- 输入E以查看用户协议\n");
- scanf("%c",&a);
- if(a == 'Y')
- {
- printf("感谢您的支持!\n");
- flag=1;
- }
- else if(a == 'E')
- {
- printf("《用户协议》");
- printf("\n\
- 请您输入Y代表同意用户协议继续\n\
- 不同意请关闭程序\n");
- scanf("%c",&a);
- if(a == 'Y')
- {
- printf("感谢您的支持!");
- }
- else
- {
- printf("输入错误!");
- }
- }
- else
- {
- printf("输入错误!");
- }
- //分隔
- if(flag==1){
- printf("请输入分数:");
- scanf("%d",&i);
- if(i >= 90)
- {
- printf("级别为A\n");
- }
- else if(i >= 80 && i < 90)
- {
- printf("级别为B\n");
- }
- else if(i >= 70 && i < 80)
- {
- printf("级别为C\n");
- }
- else if(i >= 60 && i < 70)
- {
- printf("级别为D\n");
- }
- else
- {
- printf("级别为E\n");
- }
- }
- return 0;
- }
复制代码
运行结果如下:
OK,希望对你有点用吧!
|
|