求助一下各位大佬们
0. 请编写程序,计算出 1000 以内(不包含 1000)的自然数中,属于 3 或 5 的倍数的数字之和。为什么我这个代码输出的是0啊?qaq
#include<stdio.h>
int main()
{
int i,j,sum3,sum1,sum2;
sum1=1;
sum2=1;
for(i=3;i<1000;i=i+3)
{
if(i%3==0)
{
sum1=sum1*i;
}
}
for(j=5;j<1000;j=j+5)
{
if(j%5==0)
{
sum2=sum2*i;
}
}
sum3=sum2*sum1;
printf("得数为%d",sum3);
} 别的先不说, 计算 和 的话,应该是 + 吧
用乘法 会超出int 的最大范围 LuLD 发表于 2021-10-15 10:48
别的先不说, 计算 和 的话,应该是 + 吧
用乘法 会超出int 的最大范围
#include<stdio.h>
int main()
{
int i,j;
long long int sum3,sum1,sum2;
sum1=1;
sum2=1;
for(i=3;i<1000;i=i+3)
{
if(i%3==0)
{
sum1=sum1*i;
}
}
for(j=5;j<1000;j=j+5)
{
if(j%5==0)
{
sum2=sum2*i;
}
}
sum3=sum2+sum1;
printf("得数为%d",sum3);
}
看错了写了*,这样也是0。qaq 兄弟,你的代码很多错误
你的代码#include<stdio.h>
int main()
{
int i,j,sum3,sum1,sum2;
sum1=1;
sum2=1;
for(i=3;i<1000;i=i+3)
{
if(i%3==0)
{
sum1=sum1*i; // 这里为什么不是加法?题目要求数字之和啊!
}
}
printf("\n");
for(j=5;j<1000;j=j+5) // 为什么分开算 3 和 5 的倍数?假设 15(又可除整 3,也可除整 5)不就重复了?
{
if(j%5==0)
{
sum2=sum2*i; // 为什么是 i 不是 j 吗?
}
}
printf("%d %d\n", sum1, sum2);
sum3=sum2*sum1; // 为什么又用乘法?题目要求数字之和啊!
printf("得数为%d",sum3); // 当然是 0,因为你用的是乘积,最后答案无限大,int(整数形态最大只能存放 2147483647,超过自然变成负数)
} 傻眼貓咪 发表于 2021-10-15 10:54
兄弟,你的代码很多错误
你的代码
。我感觉我猛了,没看清楚题目,我再改下 傻眼貓咪 发表于 2021-10-15 10:54
兄弟,你的代码很多错误
你的代码
算得了233168{:10_277:}应该养成多看题目习惯。
谢谢了☺ 本帖最后由 jackz007 于 2021-10-15 11:12 编辑
不要白费力气了,按照题目的要求
sum1 = 7864404421193770495457012546487234597549449973991023224447237234812102748378870249696474141053675840631514896467743362824103675226185117638801931454171678365562951273382211054152675497190348929675110626850667911634523490432588300211387408823696716316810547669923667301043945289242630103541421839917164564236645739717182232155358539885493239304112803418644333412349734245377364997148862608594689980721760683061506364518960892715965677511795753254289198006570696416286523989604526002461882228716063082096734344310278156970541687408909428699073707165878603198299955533556004956201356159747588615198111441498521861616671354078057606222958709440340387793501132883208225726257113731409152776747316056311004185727905575723946895575688731140388725325082355791037491901148838475333632000000000000000000000000000000000000000000000000000000000000000000000000000000000
sum2 = 49078299576164772177659915850974377758845452519856045525375712234283966663309034884259651182520274659432205831646344302189587819766797356217680643636056137213465478967760338435638360322989866467856057088919734404117473366413422846095995475359539870406290241434174942041205339751716474339104934188071638345718383789062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
sum3 = 385971596171462586963507576425884692431316206531975827352577350570753657653830006863657874694258846517583321232845056350605576178839846991315027748210494108279411714439802887230778942210308857111749798160970612302742412718489781233163981387762342676309645934661596201134479894562164507235443455245101163437150584691579495676369175568631682054176504104080377732390070629378244148737277275845333984914575520168432879864485027726743587731451943596831306766724171646108883797055003787153628204737531279192357347049837202577711678612224507431118241104645672747784274128775412976943340427807938458768015107520350408131775770342544292705318740648542388770374937740931735928622584713646462981595875993256782357889861612519050343295851369944877557395781408607631122908858642782719040123100480247760804693069344156635081283117166973980188692899406348684136099661394713592638216270622414783786669401819112095027505055000326889456279569406376497488349864230006934995315893363407945680461836535170414207829116453302970390342426017674170389823942561890304000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
这么大的数值,int 型的变量能胜任吗? jackz007 发表于 2021-10-15 11:10
不要白费力气了,按照题目的要求
{:9_217:}你这个就很过分了 哈哈哈
页:
[1]