c语言中用for语句实现从键盘输入10个整数,累加求和并输出。 输入格式: 输入10个整数,数之间用空格或回车键间隔开 输出格式: "sum=%d" 输入样例: 1 2 3 4 5 6 7 8 9 10 输出样例: sum=55
时间: 2024-10-29 07:18:26 浏览: 27
在C语言中,为了实现这样的功能,我们可以使用`fgets`函数读入一行字符串,然后使用`sscanf`解析字符串,逐个提取整数并累加。下面是相应的代码:
```c
#include <stdio.h>
#include <string.h> // 引入string.h库用于fgets
int main() {
char input[100]; // 存储用户输入的字符串
int sum = 0; // 累加器,初始值为0
fgets(input, sizeof(input), stdin); // 从标准输入读取一行数据
// 分割字符串为整数
char *token = strtok(input, " "); // 以空格分隔,找到第一个数字
while (token != NULL) {
int num;
if (sscanf(token, "%d", &num) == 1) { // 检查是否成功读取整数
sum += num;
} else {
printf("Invalid input detected!\n"); // 如果不是整数,提示错误
break;
}
token = strtok(NULL, " "); // 找下一个数字
}
printf("sum=%d\n", sum); // 输出结果
return 0;
}
```
在这个程序中,我们首先读取一行输入,然后使用`strtok`函数分割输入字符串为一个个数字。如果遇到非数字字符,`sscanf`返回的数量少于1,我们就认为输入无效。
阅读全文