Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将数字转换为数字,然后以列形式显示,从MSD到LSD_C - Fatal编程技术网

C 将数字转换为数字,然后以列形式显示,从MSD到LSD

C 将数字转换为数字,然后以列形式显示,从MSD到LSD,c,C,我在做一个8位数的数字,但我不知道如何只用循环来做一个表格。 所以如果数字是12345678,它应该垂直显示 1. 2. 3. 4. 5. 6. 7. 八, 这就是我的工作原理,我只想使用列而不是printf \n来强制它这样看 enter code here int main(int argc, char *argv[]) { int num, d1, d2, d3, d4, d5, d6, d7, d8, row, col; do{ printf("enter a number"); s

我在做一个8位数的数字,但我不知道如何只用循环来做一个表格。 所以如果数字是12345678,它应该垂直显示 1. 2. 3. 4. 5. 6. 7. 八,

这就是我的工作原理,我只想使用列而不是printf \n来强制它这样看

enter code here

int main(int argc, char *argv[]) {
int num, d1, d2, d3, d4, d5, d6, d7, d8, row, col;

do{
printf("enter a number");
scanf("%d", &num);
printf("%d\n", num);

}while (num<0);  


d1 =(num/10000000)%10;  
printf("%d\n", d1);

d2 =(num/1000000)%10;  
printf("%d\n", d2);

d3 =(num/100000)%10;  
printf("%d\n", d3);

d4 =(num/10000)%10;  
printf("%d\n", d4);

d5 =(num/1000)%10;  
printf("%d\n", d5);

d6 =(num/100)%10;  
printf("%d\n", d6);

d7 =(num/10)%10;  
printf("%d\n", d7);

d8 =num%10;  
printf("%d\n", d8);}
return 0;
}
在此处输入代码
int main(int argc,char*argv[]){
整数,d1,d2,d3,d4,d5,d6,d7,d8,行,列;
做{
printf(“输入一个数字”);
scanf(“%d”和&num);
printf(“%d\n”,num);

}当(num这是一种方法。您可以使用递归或其他方法,但我认为这是最简单的方法。此外,由于您的数字应该是8位数字,您应该检查num>=10000000&&num列是什么意思?您的意思是使用数组和循环来解决问题?无论如何,您必须使用printf\n我只能使用循环来解决问题问题不是数组。当一个数字小于8位时,它不能显示零。请编辑您的问题,并为您用作示例的数字添加所需的精确输出(
12345678
)Sry i for get add其假设适用于小于8位的数字。如果是这种情况,请仅选中num
 int d,x=10000000;
 while(x>0)
{
   d=num/x;
   num=num%x;
   if(d!=0)
   printf("%d\n", d);
   x=x/10;
}