分隔n位数字的数字时出现问题

  • 本文关键字:数字 问题 分隔 c
  • 更新时间 :
  • 英文 :


在我们的计算机编程课上,我们必须将5位数的数字分开并显示在屏幕上,我设法做到了,但后来我们被问到,如果是n位数,我们会怎么做。我设法创建了一个程序来确定一个数字中的位数,然后我想在这个程序中添加5位数的代码并对其进行修改,但显示的输出不正确。

这是产生错误输出的代码:

#include <stdio.h>
#include <math.h>
int main() {
int entry, j, input1;
input1 = entry;
j = 1;
printf("Enter the n digit number:n");
scanf("%d", &entry);
for (j = 1; entry > 1; j++) {
entry = entry / 10;
}
printf("The number is %d digit numbern", j);
int n, t, i;
i = 1;
while (input1 > 0) {
t = input1 / (int)pow(10, j - i);
input1 = input1 % (int)pow(10,j - i);
printf("%d   ", t);
i++;
}
return 0;
}

循环没有在第二部分运行,输出的只是数字是一个n数字(该代码正在工作(,然后我更改了代码,让用户再次输入数字,然后它就工作了,这是运行部分的代码:

include <stdio.h>
#include <math.h>
int main() {
int entry, j;
j = 1;
printf("Enter the n digit number:n");
scanf("%d", &entry);
for (j = 1; entry > 1; j++) {
entry = entry / 10;
}
printf("The number is %d digit numbern", j);
int input1, n, t, i;
i = 1;
printf("Enter the %d digit number again:n", j);
scanf("%d", &input1);
while (input1 > 0) {
t = input1 / (int)pow(10, j - i);
input1 = input1 % (int)pow(10, j - i);
printf("%d   ",t );
i++;
}
return 0;
}

这个代码有效,但我必须提示用户再次输入数字。

scanf("%d", &entry);
input1=entry; // assign value to 'input1' after input 'entry' is taken

最新更新