課程
/后端開發(fā)
/C
/C語言入門
提示我可以進(jìn)入下一節(jié)了但顯示的是亂碼
2015-11-11
源自:C語言入門 4-9
正在回答
轉(zhuǎn)換時(shí)數(shù)據(jù)類型加()
? ?//獲取三位數(shù)字num百位上的數(shù)字
? ? ? ? hd =(int)(num/100);
? ? ? ? //獲取三位數(shù)字num十位上的數(shù)字
? ? ? ? td =(int)(num%100/10);
? ? ? ? //獲取三位數(shù)字num個(gè)位上的數(shù)字
? ? ? ? sd =num%10;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd)?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num); ? ?
? ? ? ? }
if()內(nèi)部兩個(gè)等號(hào)才是判斷 否則是賦值
for(???num=100?;??num<408???;????num++??)
這里應(yīng)該是判斷小于1000,三位數(shù)的范圍應(yīng)該是100~1000(不包含1000),雖然我們知道到407就沒有水仙花數(shù)了,但是也不能直接寫408呀。
?hd?=??????int(num/100)?????;
這里不用轉(zhuǎn)換數(shù)據(jù)類型,hd、num本來就是int。int型做除法,得到的值也還是int型。而且數(shù)據(jù)類型轉(zhuǎn)換還給寫錯(cuò)了。是括號(hào)包裹int。如:int num1=(int)num;
td?=????????int{(num-hd*100)/10}????????;
這里的花括號(hào)又是怎么回事,還有就還是數(shù)據(jù)轉(zhuǎn)換問題。
if(????hd*hd*hd+td*td*td+sd*sd*sd=num??????????????)
=是賦值的意思,==才是判斷。
修改后的代碼
#include?<stdio.h> int?main() { ????//定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd ????int?num,?sd,?td,?hd; ????//循環(huán)所有三位數(shù) ????for(???num=100?;??num<1000;????num++??) ????{ ????????//獲取三位數(shù)字num百位上的數(shù)字 ????????hd?=num/100; ????????//獲取三位數(shù)字num十位上的數(shù)字 ????????td?=(num-hd*100)/10; ????????//獲取三位數(shù)字num個(gè)位上的數(shù)字 ????????sd?=num-hd*100-td*10; ????????//水仙花數(shù)的條件是什么? ????????if(hd*hd*hd+td*td*td+sd*sd*sd==num)? ????????{ ????????????printf("水仙花數(shù)字:%d\n",?num);???? ????????} ????} ????return?0;???? }
#include?<stdio.h> int?main() { ????//定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd ????int?num,?sd,?td,?hd; ????//循環(huán)所有三位數(shù) ????for(???num=100?;??num<408???;????num++??) ????{ ????????//獲取三位數(shù)字num百位上的數(shù)字 ????????hd?=??????num/100???; ????????//獲取三位數(shù)字num十位上的數(shù)字 ????????td?=????????num%100/10???????; ????????//獲取三位數(shù)字num個(gè)位上的數(shù)字 ????????sd?=????????num%10????????; ????????//水仙花數(shù)的條件是什么? ????????if(????hd*hd*hd+td*td*td+sd*sd*sd==num??????????????)?//判斷是否相等要用“==”,“=”是賦值 ????????{ ????????????printf("水仙花數(shù)字:%d\n",?num);???? ????????} ????} ????return?0;???? }
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
1 回答為什么第一種情況不行,第二種可以?
1 回答VS2010為什么編輯完成之后會(huì)出現(xiàn)這種情況
2 回答這是什么情況
1 回答這是什么情況?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-01-05
轉(zhuǎn)換時(shí)數(shù)據(jù)類型加()
2016-01-05
? ?//獲取三位數(shù)字num百位上的數(shù)字
? ? ? ? hd =(int)(num/100);
? ? ? ? //獲取三位數(shù)字num十位上的數(shù)字
? ? ? ? td =(int)(num%100/10);
? ? ? ? //獲取三位數(shù)字num個(gè)位上的數(shù)字
? ? ? ? sd =num%10;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd)?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num); ? ?
? ? ? ? }
2015-12-10
if()內(nèi)部兩個(gè)等號(hào)才是判斷 否則是賦值
2015-11-11
這里應(yīng)該是判斷小于1000,三位數(shù)的范圍應(yīng)該是100~1000(不包含1000),雖然我們知道到407就沒有水仙花數(shù)了,但是也不能直接寫408呀。
這里不用轉(zhuǎn)換數(shù)據(jù)類型,hd、num本來就是int。int型做除法,得到的值也還是int型。而且數(shù)據(jù)類型轉(zhuǎn)換還給寫錯(cuò)了。是括號(hào)包裹int。如:int num1=(int)num;
這里的花括號(hào)又是怎么回事,還有就還是數(shù)據(jù)轉(zhuǎn)換問題。
=是賦值的意思,==才是判斷。
修改后的代碼
2015-11-11