我必须根据输入的值创建一个数组。我还需要显示数组内容,我已经完成并按照自己的喜好执行。我只是遇到一些问题,试图让程序计算数字量并显示它们"检测到数字"我还需要将原始输入值(数字)乘以11并在程序结束时显示它。
我需要帮助调试的问题: 1.)计算并显示输入的位数 2.)将第一个输入的数字乘以11。
#include <stdio.h>
int main() {
int number, count, mult;
int numbers[9];
printf("Please enter a number:\n>");
scanf("%d", &number);
mult= number * 11;
for(count = 4; count >= 0; count--) {
if(number <= 0)
numbers[count] = 0;
numbers[count] = number % 10;
number /= 10;
}
for(count = 0; count < 5; count++)
printf("Digit Value: %d\t\n", numbers[count]);
count = 0;
while(number!=0)
{
number/=10;
++count;
}
printf("Digits Detected: %d\n", number);
return 0;
}
答案 0 :(得分:0)
我不是来自c / c ++背景,但根据我的观察,有两件事。
for(count = 4; count >= 0; count--)
您已定义int numbers[9]
。您应该使用9而不是4来初始化计数。但是即使您决定使用4也可以。
请注意,一旦此循环完成其执行,number
的值将被修改,因为您在循环的每次迭代中将其除以10
count
时,您将在for循环中更改其值,如下所示 for(count = 0; count < 5; count++)
printf("Digit Value: %d\t\n", numbers[count]);
count
的值为5 [虽然如果你接受我的观点1,那么你也应该在循环条件中将5改为9]。
如上所述,number
的值已经被修改。
这是您无法看到正确位数的原因。
我建议您只在填充数组时计算位数。
希望这会对你有所帮助。
答案 1 :(得分:0)
在计算出位数
之前,您需要重新初始化var fs = require('fs'),
files = ['src/js/**/*.js'],
extraFile = 'path/to/other/file';
if( fs.existsSync(extraFile)) {
files.push(extraFile);
} else {
console.log('FILE DOES NOT EXIST');
}
count
您的其他问题是将输入的数字乘以11.您可以在更改之前执行此操作,例如
count = 0; // <<---- add this line
while(number!=0)
{
number/=10;
++count;
}
然后你可以在任何你喜欢的地方打印它。