c語(yǔ)言給一個(gè)不多于5位的正整數(shù),要求求出它是幾位數(shù)
2022-11-01 00:54:05
來(lái)源: 編輯:
關(guān)于c語(yǔ)言給一個(gè)不多于5位的正整數(shù),要求求出它是幾位數(shù)這個(gè)問(wèn)題很多朋友還不知道,今天小六來(lái)為大家解答以上的問(wèn)題,現(xiàn)在讓我們一起來(lái)看看吧!
1、不對(duì)的原因,主要是if條件語(yǔ)句應(yīng)該是用“==”而不是“=”,這是判斷,不是賦值。
2、其它的錯(cuò)誤,scanf_s("%d",&a)改成scanf("%d",&a),printf用錯(cuò)了,printf打印應(yīng)該是一個(gè)占位符對(duì)應(yīng)一個(gè)要輸出的內(nèi)容,就是你代碼中%d對(duì)應(yīng)一個(gè)輸出。
3、修改后的代碼:#includeint main(){int a, b, c, d, e, f, w;printf("輸入一個(gè)不多于五位的整數(shù):");scanf("%d",&a);//第一問(wèn),求出它是幾位數(shù)b = 10000 - a;c = 1000 - a;d = 100 - a;e = 10 - a;f = 0 - a;while (a < 0 || a > 99999)printf("輸入錯(cuò)誤,請(qǐng)重新輸入");if (b < 0){printf("a是五位數(shù)");w = 5;}else if (c < 0){printf("a是四位數(shù)");w = 4;}else if (d < 0){printf("a是三位數(shù)");w = 3;}else if (e < 0){printf("a是兩位數(shù)");w = 2;}else if (f < 0){printf("a是個(gè)位數(shù)");w = 1;}elseprintf("輸入錯(cuò)誤,請(qǐng)重新輸入");//第二問(wèn),分別輸出每一位數(shù)字if (w == 5)printf("%d %d %d %d %d", a / 10000, a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);if (w == 4)printf("%d %d %d %d", a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);if (w == 3)printf("%d %d %d", a / 100 % 10, a / 10 % 10, a % 10);if (w == 2)printf("%d %d", a / 10 % 10, a % 10);if (w == 1)printf("%d", a % 10);//第三問(wèn),按逆序輸出各位數(shù)字if (w == 5)printf("%d %d %d %d %d", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10, a / 10000);if (w == 4)printf("%d %d %d %d", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10);if (w == 3)printf("%d %d %d", a % 10, a / 10 % 10, a / 100 % 10);if (w == 2)printf("%d %d", a % 10, a / 10 % 10);if (w == 1)printf("%d", a % 10);}修正后的代碼執(zhí)行如下:。
本文分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場(chǎng)無(wú)關(guān)。財(cái)經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。 如有侵權(quán)請(qǐng)聯(lián)系刪除!