導(dǎo)讀 關(guān)于c語言給一個(gè)不多于5位的正整數(shù),要求求出它是幾位數(shù)這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看
關(guān)于c語言給一個(gè)不多于5位的正整數(shù),要求求出它是幾位數(shù)這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、不對(duì)的原因,主要是if條件語句應(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);//第一問,求出它是幾位數(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)重新輸入");//第二問,分別輸出每一位數(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);//第三問,按逆序輸出各位數(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)簽: