在C中编写一个输入一个六位数字的程序,然后用空格再次打印该数字

时间:2016-02-02 15:03:33

标签: c scanf division modulo

有趣的谜题:在C中编写一个程序,从键盘输入一个六位数的数字并再次打印该数字,并在一个新行上打印相互分开的数字,每个数字各四个空格。使用整数除法和余数运算(%运算符)

的组合

我最初的想法是要解决这个问题,但这不是正确的做法。

    #include <stdio.h>

    int main(void)
    {
    char a,b,c,d,e,f;
    printf("Please enter a 6 digit number:");
    scanf("%c%c%c%c%c%c",&a,&b,&c,&d,&e,&f);

    printf("The number you inputted is:\n");
    printf("%c%c%c%c%c%c\n",a,b,c,d,e,f);
    printf("The number you entered, with spaces, is:\n");
    printf("%c    %c    %c    %c    %c    %c\n",a,b,c,d,e,f);

    return 0; 
    }

1 个答案:

答案 0 :(得分:1)

您需要完全更改逻辑以符合要求。我不会为您提供任何代码,但很乐意为您提供帮助。

  1. 读取整数值为int(或long int,因为存储6位数字的安全赌注需要至少32位宽度变量)
  2. 执行modulo-10操作以获得最低有效数字。打印或存储。
  3. 除以10。
  4. 回到第2步,直到你再循环5次,即除法产生0。