C语言求分数四则运算的问题,求大神解答!!!!

#include<stdio.h>main(){inta,b,c,d,e=1,f=1,g=0,h,i;charx,y,z;scanf_s("%d%c%d%c%d%c%d"... #include<stdio.h>
main()
{
int a, b, c, d, e=1, f=1, g = 0, h, i;
char x,y,z;
scanf_s("%d%c%d%c%d%c%d", &a,&y, &b, &x, &c,&z, &d);
switch (x)
{
case'+':e = a*d + b*c, f = b*d; break;
case'-':e = a*d - b*c, f = b*d; break;
case'*':e = a*c, f = b*d; break;
case'/':e = a*d, f = b*c; break;
}
h = e, i = f;
if (e < f)
g = e, e = f, f = g;
while (g > 0)
{
g = e%f;
e = f, f = g;
}
printf("%d%c%d%c%d%c%d=%d/%d\n", a,y, b, x, c, z,d, h / e, i / e);
}
求教大神是哪里出了问题,一运行就退出= =。
渣渣刚学C语言,只会选择与循环几个基本语句,求轻虐= =。
附上题目
在小学时我们就学习了分数的四则运算,即对两个分数进行加、减、乘、除等运算,现在我们尝试下用C语言来实现。
输入:
分数1 操作符 分数2
输出:
计算结果
要求:
计算结果使用分数表示,并且为最简化。例如结果为2/6,则被简化为1/3
测试用例 1 以文本方式显示
1/3 + 1/2↵
以文本方式显示
1/3 + 1/2 = 5/6↵
展开
 我来答
百度网友fb4c335
2013-10-10 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:58.8万
展开全部
#include<stdio.h>
int Abc(int a,int b)
{
int m;
if(a>b)
m=a,a=b;b=m;
for(m=a;m>1;m--)
{
if(a%m==0&&b%m==0)
return m;

}
return 0;
}
main()
{
int a, b, c,d,e,f ,g, h, i;
char x;
printf("PLEAse input a*b\n");
scanf("%d%d",&a,&b);
getchar();
scanf("%c",&x);
getchar();
scanf("%d%d",&c,&d);
//printf("%d/%d%c%d/%d\n", a,b,x,c,d);
switch (x)
{
case'+':e=a*d+b*c;f=b*d; break;
case'-':e=a*d-b*c,f=b*d; break;
case'*':e=a*c, f=b*d; break;
case'/':e =a*d, f=b*c; break;
}
g=e,h=f;
i=Abc(g,h);
if(i)
{
e=g/i;
f=h/i;
}

printf("%d/%d%c%d/%d=%d/%d\n", a,b,x,c,d,e,f);
}
追问
还是不对,秒退
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjj796
2013-10-10 · TA获得超过8701个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3316万
展开全部
scanf_s("%d%c%d%c%d%c%d", &a,&y, &b, &x, &c,&z, &d);

你这里的赋值太乱了,应该把数字和计算符号分开赋值
更多追问追答
追问
我也不想啊,题目要求输入1/2+1/3这样的
追答
你把题目亮出来看看吧,你这样写有问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoDoMouseCat
2013-10-10
知道答主
回答量:15
采纳率:0%
帮助的人:8.9万
展开全部
最后加一句 getch();这样就可以按任意键退出了
追问
1/3 1�134608416=1/1↵

现在的问题是输入1/3+1/2会出现这样的东西,怎么回事= =
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LRocccccc
2013-10-10 · TA获得超过372个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:179万
展开全部
请先尝试,轻摁ctrl+F5运行
更多追问追答
追问
首先VS环境ctrl+F5无效,其次我运行的开始执行(不调试),还是请看看我程序中的问题在哪里吧= =。
追答

我之前就运行过了,

你这vs crtl+f5 无效,你什么版本?

scanf_s用的略高端

可以改成scanf么?

用scanf_s的话,你的参数不对。

http://msdn.microsoft.com/zh-cn/library/vstudio/w40768et.aspx

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式