早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c程序问题,只执行第一步a+b,而且计算出来的a+b是错误的.为啥会这样,哪里错了?:输入两个整数a,b和一个字符,根据字符的形式对输入的两个整数要进行计算,其中输入字符要求如下:输入A或者a

题目详情
c程序问题,只执行第一步a+b,而且计算出来的a+b是错误的.为啥会这样,哪里错了?
:输入两个整数a,b和一个字符,根据字符的形式对输入的两个整数要进行计算,其中输入字符要求如下:
输入A或者a:计算a+b;
输入B或者b:计算a-b;
输入C或者c:计算a*b
输入D或者d:计算a/b;
输入E或者e:计算a%b;
输入其它字符:输出错误信息,比如输出“No,command!”
要求:用VC6.0实现编程
#include "stdafx.h"
#include
#include
void main()
{
\x05int a,b;
char c;
printf("please input a,b and command:\n");
\x05scanf("%d,%d,%c",&a,&b,&c);
\x05
\x05if (c='A'||'a')\x05
\x05\x05printf("a+b=%d\n",a+b);
\x05else if(c='B'||'b')
\x05\x05printf("a-b=%d\n",a-b);
\x05else if(c='C'||'c')
\x05\x05printf("a*b=%d\n",a*b);
\x05else if(c='D'||'d')
\x05\x05printf("a/b=%lf\n",a/b);
\x05else if(c='E'||'e')
\x05\x05printf("a%b=%d\n",a%b);
\x05else
\x05\x05printf("No command!\n");
}
▼优质解答
答案和解析
测试结果:
please input a,b and command:
2,3,C
2,3,C
a*b=6
请按任意键继续...
正确的代码:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
main()
{
int a,b;
char c;
printf("please input a,b and command:\n");
\x05scanf("%d,%d,%c",&a,&b,&c);
\x05printf("%d,%d,%c\n",a,b,c);
\x05if (c=='A'||c=='a')\x05
\x05\x05printf("a+b=%d\n",a+b);
\x05else if(c=='B'||c=='b')
\x05\x05printf("a-b=%d\n",a-b);
\x05else if(c=='C'||c=='c')
\x05\x05printf("a*b=%d\n",a*b);
\x05else if(c=='D'||c=='d')
\x05\x05printf("a/b=%lf\n",a/b);
\x05else if(c=='E'||c=='e')
\x05\x05printf("a%b=%d\n",a%b);
\x05else
\x05\x05printf("No command!\n");
system("pause");
}
分析:
scanf("%d,%d,%c",&a,&b,&c); 运行时一定要2,3,C这样用逗号隔开
(c=='B'||c=='b'),这是正确的判断表达式