gpt4 book ai didi

c - 编写一个程序求正奇数之和与小于或等于30的正偶数的乘积

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

我在为这个问题编写 C 程序时遇到了一些问题。也许我读错了问题并以错误的方式做。有人可以帮我吗?这就是我尝试做的方式

#include<stdio.h>
void main(void)
{
int j, sum=0;
long int product=1;
for(j=1;j<=30;j=j+2)
{
sum=sum+j;
}
for(j=2;j<=30;j=j+2)
{
product=product*j;
}
printf("\nThe sum of positive odd numbers is: %d", sum);
printf("\nThe product of positive even numbers is: %d", product);
}

我得到的输出是:

The sum of positive odd numbers is: 225
The product of positive even numbers is: -1409286144

我弄错了产品部分。我试过使用 unsigned long int、long long、unsigned long long。什么都没用。

最佳答案

尝试在 printf 中使用 %ld 而不是 %d:

printf("\n正偶数的乘积是:%ld", product);

因为它是 long int 而不是 int

如果您使用long long int,您需要%lld。考虑到这是一个非常非常大的产品,您可能需要长尺寸。我不知道你的平台的 long int 是 32 位还是 64 位,但你肯定需要一个 64 位的数字。

long long 格式字符串可能会根据您的具体平台和编译器而有所不同,但如今大多数事情都已在 %lld 上标准化。特别是,旧的 Microsoft 编译器有时使用 %I64d

关于c - 编写一个程序求正奇数之和与小于或等于30的正偶数的乘积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16310326/

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