关于c语言的 为什么会出现负数呢?而且个数也不对.还有输入很长的数时什么运行的for就不动了!
#include<stdio.h>#include<stdlib.h>intmain(void){longinti;longintcnt1=0,cnt2=0,s=0,su...
# include <stdio.h>
# include <stdlib.h>
int main (void)
{
long int i;
long int cnt1=0,cnt2=0,s=0,sum1=0,sum2=0;
double average1=0, average2=0;
printf ("请输入0到多少的整数(包含0):");
scanf ("%d",&s);
for (i=0; i<=s; ++i)
{
if (i%2 == 0)
{
++cnt1;
sum1 += i;
average1 = 1.0*sum1/cnt1;
}
else
{
++cnt2;
sum2 += i ;
average2 = 1.0*sum2/cnt2;
}
}
printf ("奇数有%ld个\n 偶数有%ld个\n 奇数和为%ld\n 偶数和为%ld\n 奇数平均值为%lf\n 偶数平均值为%lf\n ", cnt2, cnt1, sum2, sum1, average2, average1);
system ("pause");
return 0;
}
/*
为什么会出现负数呢?而且个数也不对.还有输入很长的数时什么运行的for就不动了!
---------------------------------------------------------------
请输入0到多少的整数(包含0):151554545
奇数有75777273个
偶数有75777273个
奇数和为-77776335
偶数和为-153553608
奇数平均值为-1.026381
偶数平均值为-2.026381
请按任意键继续. . .
--------------------------------------------------------------
*/ 展开
# include <stdlib.h>
int main (void)
{
long int i;
long int cnt1=0,cnt2=0,s=0,sum1=0,sum2=0;
double average1=0, average2=0;
printf ("请输入0到多少的整数(包含0):");
scanf ("%d",&s);
for (i=0; i<=s; ++i)
{
if (i%2 == 0)
{
++cnt1;
sum1 += i;
average1 = 1.0*sum1/cnt1;
}
else
{
++cnt2;
sum2 += i ;
average2 = 1.0*sum2/cnt2;
}
}
printf ("奇数有%ld个\n 偶数有%ld个\n 奇数和为%ld\n 偶数和为%ld\n 奇数平均值为%lf\n 偶数平均值为%lf\n ", cnt2, cnt1, sum2, sum1, average2, average1);
system ("pause");
return 0;
}
/*
为什么会出现负数呢?而且个数也不对.还有输入很长的数时什么运行的for就不动了!
---------------------------------------------------------------
请输入0到多少的整数(包含0):151554545
奇数有75777273个
偶数有75777273个
奇数和为-77776335
偶数和为-153553608
奇数平均值为-1.026381
偶数平均值为-2.026381
请按任意键继续. . .
--------------------------------------------------------------
*/ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |