gpt4 book ai didi

c - 使用字符串读取数字

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:53 25 4
gpt4 key购买 nike

我需要编写一个函数来接收 x 个数字。 (x 作为参数读入函数)数字之前可以有任意数量的空格和换行符分隔,在输入最后一个数字后,换行符结束扫描。我考虑过使用字符串来接收字符,并忽略任何非数字字符。当输入数字字符时,它将被读入字符串,以及后面的任何数字字符。当在数字后面输入空格或换行符时,我希望将字符串中的数字输入到数组中。

因此,如果字符串包含 {'1', '3', '2'},我想将“132”的值放入数组的单元格中。

我会设置一个计数器,当一个数字被放入数组时进行计数,当达到必要的数字数量时,该函数将返回。

这是我目前所拥有的:

    void read_vector(int* v, int n)
{
int value, i = 0, j = 0, k;
char num, str[9];

do
{
num = getchar();

if (num > 47 && num < 58)
{
while (i < 10)
{
str[i] = num;
i++;
num = getchar();

if (i = 9 || num < 47 || num > 58)
{
str[i] = '\0'
j++;

for(k = 1; k <= strlen(str); k++)
{
value += str[k - 1] * pow(10, (strlen(str) - k));
}

v[j] = value

if(j = n)
return;
}
}
}
}

while (1);
}

谢谢

最佳答案

我会根据您输入的呈现方式使用 scanf 系列的成员。 fscanf() 几乎可以满足您的要求。

关于c - 使用字符串读取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1651405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com