要实现一行输入多个数字,可以使用字符串来接收用户的输入。然后通过字符串分割的方式将数字提取出来进行求和。
以下是一个示例代码:#include <stdio.h>#include <stdlib.h>#include <string.h>int main() { char input[100]; // 用于接收用户输入的字符串 float sum = 0.0; printf("请输入数字(以空格或其他分隔符隔开):"); fgets(input, sizeof(input), stdin); // 从标准输入中读取一行输入 // 使用 strtok 函数分割字符串 char* token = strtok(input, " \t\n"); // 分割字符串,分隔符包括空格、制表符和换行符 while (token != NULL) { float num = atof(token); // 将提取出的字符串转换为浮点数 sum += num; token = strtok(NULL, " \t\n"); // 继续提取下一个数字 } printf("结果是:%.2f\n", sum); return 0;}
这个代码通过使用 `fgets` 函数获取用户输入的一行字符串,并使用 `strtok` 函数将字符串分割成多个数字。然后将提取出的字符串转换为浮点数并进行求和。最后输出求和的结果。注意,在编译时需要包含 `<stdlib.h>` 和 `<string.h>` 头文件。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |