大家看看哪里不符合题意了,C语言程序题,,提交不到学校的系统。连最后一行的换行符都试过重新写一行过了 20
Description编程序读入并计算只有一个二元运算符的表达式的值。用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。Input每行输入一...
Description
编程序读入并计算只有一个二元运算符的表达式的值。用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。
Input
每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。测试样例不存在除数为0的情况。
输入以a和b为0,且用一个空格分开结束。
Output
每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。
Sample Input
33+5
8*9
2.2
1-6
17/3
9%3
0 0
Sample Output
38
72
invalid op
-5
5
0
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch[100];
int a[100],b[100],i,count=0;
for(i=1;; i++)
{
scanf("%d%c%d",&a[i],&ch[i],&b[i]);
if(a[i]==0&&b[i]==0)
break;
count++;
}
for(i=1; i<=count; i++)
{
switch(ch[i])
{
case'+':
printf("%d\n",a[i]+b[i]);
break;
case'-':
printf("%d\n",a[i]-b[i]);
break;
case'*':
printf("%d\n",a[i]*b[i]);
break;
case'/':
printf("%d\n",a[i]/b[i]);
break;
case'%':
printf("%d\n",a[i]%b[i]);
break;
default:
printf("invalid op\n");
}
}
return 0; 展开
编程序读入并计算只有一个二元运算符的表达式的值。用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。
Input
每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。测试样例不存在除数为0的情况。
输入以a和b为0,且用一个空格分开结束。
Output
每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。
Sample Input
33+5
8*9
2.2
1-6
17/3
9%3
0 0
Sample Output
38
72
invalid op
-5
5
0
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch[100];
int a[100],b[100],i,count=0;
for(i=1;; i++)
{
scanf("%d%c%d",&a[i],&ch[i],&b[i]);
if(a[i]==0&&b[i]==0)
break;
count++;
}
for(i=1; i<=count; i++)
{
switch(ch[i])
{
case'+':
printf("%d\n",a[i]+b[i]);
break;
case'-':
printf("%d\n",a[i]-b[i]);
break;
case'*':
printf("%d\n",a[i]*b[i]);
break;
case'/':
printf("%d\n",a[i]/b[i]);
break;
case'%':
printf("%d\n",a[i]%b[i]);
break;
default:
printf("invalid op\n");
}
}
return 0; 展开
5个回答
展开全部
#include <stdio.h>
int main()
{ int a,b;
char c;
while(1)
{
scanf("%d%c%d",&a,&c,&b);
if(a==0 && b==0 && c==" ")
break;
switch(c)
{
case '+': printf("%d\n",a+b);break;
case '-': printf("%d\n",a-b);break;
case '*': printf(%d\n",a*b);break;
case '/':printf("%d\n",a/b);break;
case '%': printf("%d\n",a%b);break;
default: printf("invalid op\n");
}
}
}
int main()
{ int a,b;
char c;
while(1)
{
scanf("%d%c%d",&a,&c,&b);
if(a==0 && b==0 && c==" ")
break;
switch(c)
{
case '+': printf("%d\n",a+b);break;
case '-': printf("%d\n",a-b);break;
case '*': printf(%d\n",a*b);break;
case '/':printf("%d\n",a/b);break;
case '%': printf("%d\n",a%b);break;
default: printf("invalid op\n");
}
}
}
更多追问追答
追问
你这个没实现题目的要求吧,而且有没有回答我的问题
追答
你试试提交我的程序看
展开全部
终止条件break前面加上&&ch[i]==' '
追问
default:
printf("invalid op\n");已经包括了吧。。。。。而且输出完全符合呀
追答
很有可能要求的是对文件的操作,这样从命令行读取输出就不对了,看看有没有额外的要求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case 与后面的值之间要有空格格开 case'+': 改为 case '+': 就ok啦,我执行过了
更多追问追答
追问
我这个也可以执行啊 就是提交不了啊
追答
提交到什么系统啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case'/':
这里是不是还要加一个如果输入了b[i]=0的情况
f(b[i]==0)
break;
else {printf("%d\n",a[i]/b[i]);
break;}
这里是不是还要加一个如果输入了b[i]=0的情况
f(b[i]==0)
break;
else {printf("%d\n",a[i]/b[i]);
break;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学长,,我没你懂得多。。
追问
学弟,你大几了呀?
追答
大一。。呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询