c - 'while' 循环求 n 个数字的总和
问题描述
我试图n
使用while
循环找到数字的总和,以便它像这样运行:
How many numbers: 3
-3,
4,
13,
The sum is: 14
但是我得到的是:
How many numbers: 3
2,
1,
The sum is: 3
我不明白,因为我设置i = 0
#include <stdio.h>
int main(void) {
int numbers;
printf("How many numbers: ");
scanf("%d", &numbers);
int sum = 0;
int i = 0;
while (i < numbers) {
scanf("%d", &numbers);
sum = sum + numbers;
i++;
}
printf("The sum is: %d", sum);
return 0;
}
解决方案
一个正确的解决方案是:
#include <stdio.h>
int main(void) {
int numbers;
printf("How many numbers: ");
scanf("%d", &numbers);
int sum = 0;
int i = 0;
int number; // use different variable for the input numbers
while (i < numbers) {
scanf("%d", &number);
sum = sum + number;
i++;
}
printf("The sum is: %d", sum);
return 0;
}
问题是您将一个变量用于两件不同的事情。
推荐阅读
- python - 在 RASA NLU 中用不同的训练数据训练相同的模型
- javascript - 将图像注释存储在数据库中而不刷新页面
- java - 给定词典的缩写扩展器
- node.js - 在对话流聊天机器人中向用户键入通知
- javascript - JavaScript:对 ASCII 字符串和非 ASCII 字符串的混合数组进行排序
- javascript - FunctionDeclarations 返回什么?[漏洞?]
- android - 向 PDF 添加数字签名,使用远程服务器加载
- bit-manipulation - 在 C 中使用位运算符进行范围检查
- mysql - “无法加载身份验证插件'caching_sha2_password'。找不到特定模块”
- ios - ios按钮仅在点击时显示图像