你可能没完全理解题意,要求算的是每三个数的积的和
1*2*3 + 4*5*6
而不是
1*2*3 * 4*5*6
代码已经修改如下:
#include
#include
int main(int argc, char* argv[])
{
longint result=0;
intn;
printf("Entera number:");
scanf("%ld",&n);
n-=(n%3);
for(inti=1; i
result+= i*(i+1)*(i+2);
}
for(i=1;i
if(i>1)
printf("+");
printf("%d*%d*%d",i, i+1, i+2);
}
printf("=%d\n",result);
system("pause");
return0;
}
long int 和int 一样 占用4个字节
102的阶乘已经超过了int最大值了
类型名称 字节数 取值范围
signed char 1 -128~+127
short int 2 -32768~+32767
int 4 -2147438648~+2147438647
long int 4 -2147438648~+2141438647
long long long int 8 -9223372036854775808~+9223372036854775807
#include
#include
int main(void)
{long double ji=0;int i;
printf("请输入最后一个数\n");
scanf("%d",i);
for(int j=1;j<=i-2;j+=3)
{ji+=j*(j+1)*(j+2);}
printf("\n%llf",ji);
system("PAUSE");
return 0;}
改用double类型,试试