-1

我需要制作一个用户输入数字的程序(例如 193643,在一行中)。然后将每个数字(例如“1”“9”“3”等)转换为自己的变量。

我该怎么做?

我没有尝试,因为我不明白,我会尽力解释。

如同...

 printf("Please enter three numbers: ");
 scanf("%d",&number1);

用户类型 137

而不是输入 137 并将其变为变量。我需要这样做,如果该人输入像 137 这样的数字,程序将“1”作为变量,“3”作为另一个变量,“7”作为最后一个变量。它必须在一行中...

所以而不是问三遍......

 printf("Please enter 1st numbers: ");
 scanf("%d",&number1);
 printf("Please enter 2nd numbers: ");
 scanf("%d",&number2);
 printf("Please enter 3rd numbers: ");
 scanf("%d",&number3);

让它在一行中询问一次并将每个数字记录为一个变量......

4

2 回答 2

0

如果我理解您的问题,您正在尝试提取每个数字并将其存储到变量中。一个小例子如下

#include <stdio.h> 
#include <string.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{ 
    char inpString[20];
    int num;

    strcpy(inpString, argv[1]);
    num = atoi(inpString);
    printf("Number: %d\n", num);

    while(num > 0) 
    {
        printf("%d\n", (num % 10));
        num = num / 10;
    }
    printf("Size of void *: %d\n", sizeof(void *));

return 0;
}
于 2013-02-12T16:48:08.747 回答
0

我想通了谢谢大家!它只需要一些简单的问题解决,我会分享以防万一其他人也试图解决它....

注意:separate 只是我创建的一个变量,用于将每个数字一一分开。我将所有变量都设为整数。

对于此示例,单独 = 137。

lastDigit = separate % 10;
separate = separate / 10; 
secondDigit = separate % 10; 
separate = separate / 10; 
firstDigit = separate % 10; 

7 存储在 lastDigit 中。然后从单独的变量(137 到 13)中去掉 7。

3 存储在 secondDigit 中。然后从单独的变量(13 到 1)中减去 3。

1 存储在 firstDigit 中。

于 2013-02-18T23:52:50.023 回答