#includestdio.h
創(chuàng)新互聯(lián)建站是一家專注網(wǎng)站建設、網(wǎng)絡營銷策劃、小程序定制開發(fā)、電子商務建設、網(wǎng)絡推廣、移動互聯(lián)開發(fā)、研究、服務為一體的技術型公司。公司成立十年以來,已經(jīng)為近千家成都廣告推廣各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務。現(xiàn)在,服務的近千家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
#includestdlib.h
main()
{
int a,b,c,d,i,x,y;
char op;
scanf("%d/%d%c%d/%d",b,a,op,d,c);
if(a==0||c==0) exit(0);
if(op=='+'){y=b*c+d*a;x=a*c;}
if(op=='-'){y=b*c-d*a,x=a*c;}
if(op=='*'){y=b*d;x=a*c;}
if(op=='/'){y=b*c;x=a*d;}
if(y==0x!=0) { printf("%d/%d%c%d/%d=0\n",b,a,op,d,c); }
else if(x==0) exit(0);
//你的這里怎么可以再用一個ELSE呢,條件已經(jīng)變化了。后面跟前面沒有聯(lián)系啊
if(xy) i=y;
while(i1)
{
if(x%i==0y%i==0){x=x/i;y=y/i;continue;}
i--;
}
if(x/i==1) printf("%d/%d%c%d/%d=%d\n",b,a,op,d,c,y);
else printf("%d/%d%c%d/%d=%d/%d.\n",b,a,op,d,c,y,x);
//不明白你后面這里為什么會多出兩個花括號。
//由于百度上不能空行,我也不猜測錯誤原因。你自己理解下。
}
//程序運行無誤
方法如下:
設備:華為筆記本。
系統(tǒng):win7。
軟件:Code Blocks。
版本:8.0.11。
1、首先打開Code Blocks軟件,新建一個C語言文件,如下圖所示。
2、接下來在C語言文件中編寫加減乘除運算代碼,如下圖所示。
3、然后點擊構建菜單下面的編譯當前文件選項,如下圖所示。
4、最后運行程序就可以得到加減乘除運算的結果了,如下圖所示。
代碼
#includestdio.h
int main()
{
int a,b;
scanf("%d %d",a,b);
printf("%d\t",a + b);
printf("%d\t",a - b);
printf("%d\t",a * b);
printf("%d\t",a / b);
return 0;
}
運行截圖
分析
C語言中的加減乘除和數(shù)學中的加減乘除一樣,不同在于符號的表示問題,乘號需要用“*”表示。除號需要用“/”表示。新手學習C語言,很容易把除號和取余好混淆,強調(diào)一下,取余號是“%”,百分號就是取余的意思。因此在輸入兩個整數(shù)以后,按照數(shù)學方法就可以直接輸出結果,整數(shù)的輸入用scanf()函數(shù)。
定義一個數(shù)據(jù)結構,可以是一個長度2的數(shù)組,也可以是一個struct,下面以數(shù)組為例
定義兩個長度2的數(shù)組 a[2],b[2],分子分別保存在a[0],b[0],分母分別保存在a[1],b[1](負數(shù)的話,符號同分子一起)
乘:分母,分子分別相乘;除:乘以倒數(shù)(調(diào)換乘數(shù)的分子分母);然后約分(涉及最大公約數(shù)算法,可百度)
加減:分母需要相同,涉及最小公倍數(shù)算法(可百度)
以上思路和人工計算的方式相同,只是用c語言“翻譯”一下
另外提供一個思路,直接計算結果,然后從無限循環(huán)小數(shù)轉化成分數(shù)形式