gpt4 book ai didi

c - 为什么这个简单的程序给我看似不正确的输出?

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

这是一个简单的程序,我有一项任务要做。

  • Ask the user for a number, which you can assume will be 1 or larger
  • Counting by 3s, print the numbers from 1 up to the user number; for example up to 15 : 1, 4, 7, 10, 13 o Print the numbers on one line o Also, find the sum of these numbers and print on next line, 35 in this case
  • In 1 program solve with a while loop and then again with a for loop

这是我的代码

#include<stdio.h>

int main(){

int number;
int i = 1;
int sum = 0;


printf("Please enter a number greater than 1: ");
scanf("%d", &number);


while(i < number){
printf("%d ", i);
i+=3;

sum = sum + i;
}

printf("\nThe sum of these numbers is: %d\n", sum);


return 0;
}

这是示例输出:

Please enter a number greater than 1: 15

1 4 7 10 13

The sum of these numbers is: 50

我一辈子都弄不明白为什么要将数字 (15) 添加到总和中。输入 15 被添加到 1、4、7、10 和 13 的总和中。在这个程序中什么时候我等于数字?

如果这没有多大意义,我很抱歉。任何帮助表示赞赏。我想了解我做错了什么。谢谢。

最佳答案

您在将 i 添加到总和之前递增它!如果每个数字都增加了 3,那么在这种情况下,您的总误差加起来就是 15。

确保仅在每次迭代中使用完 i 后才递增:

while(i < number){
printf("%d ", i);
sum = sum + i;

i+=3;
}

关于c - 为什么这个简单的程序给我看似不正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46838772/

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