gpt4 book ai didi

C 将循环中存储的整数相加

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

我希望我的程序向用户询问数字,然后显示有多少条目是偶数和奇数,然后显示所有偶数条目的总数和所有奇数条目的总数。

除了合计部分,我都知道了。

如何正确引用我的 oddcount++evencount++ 中的条目?我在想也许是一个数组,但这可能会使事情过于复杂。 for循环处理总?

#include <stdio.h>


int evencount = 0, oddcount = 0, i = 0;
int eventotal, oddtotal;



int main () {


int number;
char name[256];



printf("Enter your name \n");
scanf("%s", &name);

printf("Enter numbers within 1-100 \n");
printf("Enter 0 to quit\n");

while (number != 0) {
scanf("%d", &number);
if (number%2 == 1) {
oddcount++;
}
else {
evencount++;

}

};



printf("%s,the numbers you have entered are broken down as follows: \n", name);


printf("%d odd entries \n", oddcount);
printf("%d even entries\n", evencount);

//printf("You entered even numbers with a total value of %d \n", eventotal );
//printf("You entered odd numbers with a total value of %d \n", oddtotal);



return 0;

}

最佳答案

您可以做的是保留偶数和奇数和的整数,并在用户输入数字时即时添加它们。

并初始化变量 number,因为 while 循环中的第一个比较是与未初始化的变量,即 undefined behavior .

你的循环应该看起来像这样

number = 1;
while (number != 0)
{
scanf("%d", &number);
if (number%2 == 1)
{
oddcount++;
oddtotal += number;
}
else
{
evencount++;
eventotal += number
}
}

printf("sum of even number = %d\n", eventotal);
printf("sum of odd number = %d\n", oddtotal);


由于数组名称是该数组的基址,因此 scanf()

不需要 &
scanf("%s", name);

注意:

1)使用 main()

的标准定义
int main(void) //if no command line arguments.

2) 全局变量默认初始化值为0。因此,您不需要像此处那样初始化它们。

int evencount = 0, oddcount = 0, i = 0;

关于C 将循环中存储的整数相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35475306/

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