gpt4 book ai didi

c - 如何梳理输入(方程式)并获取变量,忽略空格? (scanf()), (数组)

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:49 34 4
gpt4 key购买 nike

对于我的 C 程序,用户输入“aY + b = c”,其中 a、b 和 c 是 int 值,Y 是“符号常量”。

如何使“aY+b=c”与“aY + b = C”一样有效?基本上,我不确定如何利用 scanf() 以便无论用户决定输入多少空格,我都可以从用户输入中获取变量 a、b 和 c。

谢谢!

最佳答案

考虑以下几点:

代码

#include <stdio.h>
#include <ctype.h>

#define MAX_EQUATION_LEN (1000)

int main(void)
{
char equation[MAX_EQUATION_LEN];
int num, i;

printf("Enter a equation: ");
fgets(equation, MAX_EQUATION_LEN, stdin);

sscanf(equation, "%d", &num);

i = 0;
while(equation[i])
{
if(!isdigit(equation[i]))
break;
else
i++;
}

printf("You entered: %d\n", num);
printf("Unhandled string data: %s\n", &equation[i]);

return 0;
}

示例运行

Enter a equation: 204Y + 52 = 9
You entered: 204
Unhandled string data: Y + 52 = 9

逻辑

  1. 一次将完整的方程式作为字符串输入。
  2. 相应地解析字符串。在这里,我正在寻找第一个 int
  3. 跟踪您在字符串解析过程中的位置。
  4. 继续解析字符串,直到没有更多字符。

关于c - 如何梳理输入(方程式)并获取变量,忽略空格? (scanf()), (数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21712148/

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