第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

編譯計算器,不知道為什么運(yùn)行時總是出錯?

編譯計算器,不知道為什么運(yùn)行時總是出錯?

C
mrs_empress 2016-10-06 12:16:38
本人初學(xué),想用c語言大體編一個計算器,現(xiàn)目前編譯如下,機(jī)器顯示編譯沒有問題,但運(yùn)行結(jié)果并未按照順序來,總是出現(xiàn)48.000000,49.000000,想問一下哪里出錯了?是哪里邏輯有問題還是?#include?<stdio.h> #include?<ctype.h> int?main() { ????int?c,flag; ????float?a,b,result; ????printf("歡迎來到小黃雞會計算的世界\n"); ????printf("小黃雞最近學(xué)會了加減乘除,你可以來考考它\n"); ????printf("請輸入第一個數(shù)字\n"); ????a=getchar(); ????printf("%f\n",a); ????printf("請輸入第二個數(shù)字\n"); ????b=getchar(); ????printf("%f\n",b); ????printf("請選擇你所需要的運(yùn)算,如你要進(jìn)行加法運(yùn)算,請輸入1;減法運(yùn)算,請輸入2;乘法運(yùn)算,請輸入3;除法運(yùn)算,請輸入4.\n"); ????flag=getchar(); ????switch(flag){ ????????case?1:?printf("結(jié)果是%f\n",result=a+b); ????????case?2:?printf("結(jié)果是%f\n",result=a-b); ????????case?3:?printf("結(jié)果是%f\n",result=a*b); ????????case?4:?printf("結(jié)果是%f\n",result=a/b); ????????default:; ????} ????printf("小黃雞很機(jī)智吧!\n"); ????return?0; }
查看完整描述

3 回答

已采納
?
慕斯8597481

TA貢獻(xiàn)1條經(jīng)驗 獲得超3個贊

把getchar換成scanf,也就是scanf("%f",&a);和scanf("%f",&b);以及scanf("%d",&flag);

查看完整回答
3 反對 回復(fù) 2016-10-06
  • mrs_empress
    mrs_empress
    我改成這樣了,可是不管輸入什么都顯示為1.000000,為什么呢? #include <stdio.h> #include <ctype.h> int main() { int c,flag; float a,b,result; printf("歡迎來到小黃雞會計算的世界\n"); printf("小黃雞最近學(xué)會了加減乘除,你可以來考考它\n"); printf("請依次輸入第一、二個數(shù)字,和你所需要的運(yùn)算符號(且我們規(guī)定加減乘除依次為1、2、3、4)\n"); a=scanf("%f",&a); printf("%f\n",a); b=scanf("%f",&b); printf("%f\n",b); flag=scanf("%f",&flag); switch(flag){ case 1: printf("結(jié)果是%f\n",result=a+b); case 2: printf("結(jié)果是%f\n",result=a-b); case 3: printf("結(jié)果是%f\n",result=a*b); case 4: printf("結(jié)果是%f\n",result=a/b); default:; } printf("小黃雞很機(jī)智吧!\n"); return 0; }
  • 慕斯8597481
    慕斯8597481
    是scanf("%f",&b);而不是a=scanf("%f",&b);(這是你錯的原因)還有,你的flag是int類型的,所以用scanf("%d",&flag);就可以了(雖然這個其實沒影響,我就隨口說說)
  • mrs_empress
    mrs_empress
    能在幫我看一下嗎?我把代碼和運(yùn)行效果圖發(fā)到回復(fù)里了,謝謝
?
mrs_empress

TA貢獻(xiàn)11條經(jīng)驗 獲得超2個贊

include?<stdio.h>?
#include?<ctype.h>?
int?main()
{?
	int?c,flag;
	float?a,b,result;
	printf("歡迎來到小黃雞會計算的世界\n");
????printf("小黃雞最近學(xué)會了加減乘除,你可以來考考它\n");?
	printf("請依次輸入第一、二個數(shù)字,和你所需要的運(yùn)算符號(且我們規(guī)定加減乘除依次為1、2、3、4)\n");?
	scanf("%f",&a);?
	printf("%f\n",a);?
	scanf("%f",&b);?
	printf("%f\n",b);?
	scanf("%d",&flag);?
	switch(flag){?
		case?1:?printf("結(jié)果是%f\n",result=a+b);break;?
		case?2:?printf("結(jié)果是%f\n",result=a-b);break;?
		case?3:?printf("結(jié)果是%f\n",result=a*b);break;?
		case?4:?printf("結(jié)果是%f\n",result=a/b);break;?
		default:;?
	}?
	printf("小黃雞很機(jī)智吧!\n");?
	return?0;?
}

http://img1.sycdn.imooc.com//57f65a65000164f306710431.jpg

已經(jīng)改成這樣了,為什么還不行?

查看完整回答
反對 回復(fù) 2016-10-06
?
慕斯卡3531659

TA貢獻(xiàn)3條經(jīng)驗 獲得超0個贊

有 ?兩個問題 getchar 你每次輸入一個數(shù)據(jù) ?你還要輸入 一個 ?回車符號 ?回車符號 會被接受

? ? a=getchar();

? ? getchar();//添加這個就好

你 ?getchar ?獲得的是 ?數(shù)值的ascii ?碼值 ?0 對應(yīng)的asc是 ?48 ?so ?要用getchar的話 ?你應(yīng)該 ?每個獲取的值 剪掉48 ?依舊很麻煩 ?因為 ?getchar 似乎只能接受一個字符



查看完整回答
反對 回復(fù) 2016-10-06
  • 3 回答
  • 0 關(guān)注
  • 1676 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號