我正在为我的 C 课程(第一门编程课程)做作业。部分作业是编写代码,让用户输入一个最长为 9 位的数字,程序需要判断这个数字是“增加”/“真正增加”/“减少”/“真正减少”/“增加和减少”/“真正减少和真正增加”/“不减少而不增加”。(共7个选项)
由于这是我们的第一个作业,我们不允许使用除了课堂上教过的东西之外的任何东西:
do-while、for、while 循环、else-if、if、break、continue 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;
}