c语言程序中要使(a+b)(c-d)/(b-c)输出为(a+b)/(b-c)*(c-d),怎么弄?
1个回答
展开全部
思路是从输入字符中提取a,b, c,d保存到变量,再组合成第二个表达式计算。
提取方法不止一种,比如:
一、前一个公式输入用字符串,之后遍历字符串,判断出'+','-'符号,并将前后的数字字符提取出来转换成数字。
转换可自己写函数(数字字符-'0')就是对应数字。
也可直接用atoi()转换。
二、scanf指定格式输入,直接获取变量,比如:int a,b,c,d;
scanf("(%d+%d)(%d-%d)//(%d-%d)",&a,&b,&c,&d,&b,&c);注意这里要写双斜杠。
输入内容:(1+2)(3-4)/(2-3)
那么a,b,c,d就分别是1,2,3,4。
提取方法不止一种,比如:
一、前一个公式输入用字符串,之后遍历字符串,判断出'+','-'符号,并将前后的数字字符提取出来转换成数字。
转换可自己写函数(数字字符-'0')就是对应数字。
也可直接用atoi()转换。
二、scanf指定格式输入,直接获取变量,比如:int a,b,c,d;
scanf("(%d+%d)(%d-%d)//(%d-%d)",&a,&b,&c,&d,&b,&c);注意这里要写双斜杠。
输入内容:(1+2)(3-4)/(2-3)
那么a,b,c,d就分别是1,2,3,4。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询