
c语言switch语句学习,遇到问题,高手来看看!
/*读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,其中op可为"+"、"-"、"*"、"/"*/#include"...
/* 读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为"+"、"-"、"*"、"/" */
#include "stdio.h"
void main()
{
float data1,data2,op;
printf("请输入两个数据/n");
scanf("%f %f",&data1,&data2);
switch();
{
case'+': printf("data1+data2\n"); break;
case'-': printf("data1-data2\n"); break;
case'*': printf("data1*data2\n"); break;
case'/': printf("data1/data2\n"); break;
default:printf("error\n");
}
} 展开
#include "stdio.h"
void main()
{
float data1,data2,op;
printf("请输入两个数据/n");
scanf("%f %f",&data1,&data2);
switch();
{
case'+': printf("data1+data2\n"); break;
case'-': printf("data1-data2\n"); break;
case'*': printf("data1*data2\n"); break;
case'/': printf("data1/data2\n"); break;
default:printf("error\n");
}
} 展开
6个回答
展开全部
#include<stdio.h>
void main()
{
float data1,data2;
char op;
printf("请输入表达式\n");
scanf("%f%c%f",&data1,&op,&data2);
switch(op)
{
case'+': printf("%f+%f=%f\n",data1,data2,data1+data2); break;
case'-': printf("%f-%f=%f\n",data1,data2,data1-data2); break;
case'*': printf("%f*%f=%f\n",data1,data2,data1*data2); break;
case'/': printf("%f/%f=%f\n",data1,data2,data1/data2); break;
default:printf("error\n");
}
}
这样改一下就可以了,希望对你有帮助
void main()
{
float data1,data2;
char op;
printf("请输入表达式\n");
scanf("%f%c%f",&data1,&op,&data2);
switch(op)
{
case'+': printf("%f+%f=%f\n",data1,data2,data1+data2); break;
case'-': printf("%f-%f=%f\n",data1,data2,data1-data2); break;
case'*': printf("%f*%f=%f\n",data1,data2,data1*data2); break;
case'/': printf("%f/%f=%f\n",data1,data2,data1/data2); break;
default:printf("error\n");
}
}
这样改一下就可以了,希望对你有帮助
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include"stdio.h"
void main()
{
float d1,d2;
char op;
printf("请输入两个数据/n");
scanf("%f%f",&d1,&d2);
printf("请选择模式:\n");
scanf("%c",&op);
switch(op)
{
case '+': printf("%0.2f+%0.2f=%0.2f",d1,d2,d1+d2); break;
case'-': printf(""%0.2f-%0.2f=%0.2f",d1,d2,d1-d2); break;
case'*': printf("%0.2fx%0.2f=%0.2f",d1,d2,d1*d2); break;
case'/': printf("%0.2f+%0.2f=%0.2f",d1,d2,d1/d2); break;
default:printf("error\n");
}
}
void main()
{
float d1,d2;
char op;
printf("请输入两个数据/n");
scanf("%f%f",&d1,&d2);
printf("请选择模式:\n");
scanf("%c",&op);
switch(op)
{
case '+': printf("%0.2f+%0.2f=%0.2f",d1,d2,d1+d2); break;
case'-': printf(""%0.2f-%0.2f=%0.2f",d1,d2,d1-d2); break;
case'*': printf("%0.2fx%0.2f=%0.2f",d1,d2,d1*d2); break;
case'/': printf("%0.2f+%0.2f=%0.2f",d1,d2,d1/d2); break;
default:printf("error\n");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
int main()
{
float data1,data2;
int op;
printf("请输入两个数据/n");
scanf("%f %f",&data1,&data2);
printf("请输入op为(+,-,*,/):");
scanf("%d",&op);
printf("%d",op);
switch(op)
{
case 43: printf("data1+data2\n"); system("pause");break;
case 45: printf("data1-data2\n"); system("pause");break;
case 42: printf("data1*data2\n"); system("pause");break;
case 47: printf("data1/data2\n");system("pause"); break;
default:printf("error\n");
}
return 0;
}
int main()
{
float data1,data2;
int op;
printf("请输入两个数据/n");
scanf("%f %f",&data1,&data2);
printf("请输入op为(+,-,*,/):");
scanf("%d",&op);
printf("%d",op);
switch(op)
{
case 43: printf("data1+data2\n"); system("pause");break;
case 45: printf("data1-data2\n"); system("pause");break;
case 42: printf("data1*data2\n"); system("pause");break;
case 47: printf("data1/data2\n");system("pause"); break;
default:printf("error\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
switch(变量???) 不要分号!{
.......
}
.......
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那个op的数据还没输入吧 所以switch少了一个参数
追问
少了个什么参数,我是新手,就是来请教的,能教我填什么吗?
追答
个人觉得 op定义为char类型比较好 因为你输入的是一个字符
比如你在里面添加 scanf("%c",op);
scanf("%c",op);要在scanf("%f%c%f",&data1,&op,&data2);之前 原因是因为输入完后要按Enter键 相当于'\n' 如果在那之后就相当于op = '\n'
然后switch(op) 就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询