我正在爲C(第一編程課程)中的課程做家庭作業。 分配的一部分是編寫代碼,以便用戶輸入長達9位數的數字,並且程序需要確定該數字是「增加」/「真正增加」/「減少」/「真正減少」/ 「增加和減少」/「真正減少和真正增加」/「不減少和不增加」。 (共7個選項)從C中抽取個別數字C
由於這是我們的第一個任務我們不允許使用任何東西,除了什麼在課堂上講授:
做,而對於,while循環,否則,如果,如果, 突破,繼續 scanf函數,printf的,取模,以及基本的運營商
(我們不能用任何庫除了爲stdio.h中)
就是這樣。我不能使用數組或getchar
或任何這些東西。我可以用來接收用戶輸入的唯一功能是scanf
。
到目前爲止,我已經用流程圖和所有內容編寫了算法,但我需要將用戶的輸入分隔爲不同的數字。
例如,如果用戶輸入「1234 ...」,我想在a中保存1,在b中保存2,等等,然後比較所有數字以確定它們是否全部相等(增加和減少)還是a> b> c ...(減少)等等。
我知道如何通過使用%和/運算符來分隔每個數字,但我無法弄清楚如何將這些值「保存」到一個變量中,以便稍後用於比較。
這是我到目前爲止有:
printf("Enter a positive number : ");
do {
scanf ("%ld", &number);
if (number < 0) {
printf ("invalid input...enter a positive integer: ");
continue;
}
else break;
} while (1);
while (number < 0) {
a = number % 10;
number = number - a;
number = number/10;
b = a;
}
等等,他們希望您將一個數字分成「最多9位」數字,但他們不會讓您使用數組?多數民衆贊成在那...這只是殘酷! – 2012-04-06 14:58:42
這只是第一部分...另一部分與Goldbach理論有關,用戶輸入任何數字最多9位數字,並且計算機輸出第一個加上該數字的素數。同樣的限制,以及 – nofe 2012-04-06 15:02:43
我不明白你的增加與真正增加的概念。什麼是「增加和減少」與「真正減少和真正增加」。請說明你的代碼應該如何分類輸入。 – abelenky 2012-04-06 15:24:52