例19:C语言实现求(1+2+3….+100)+(1*1+2*2+….50*50)+(1/1+1/2+…1/10)
解题思路:这个问题的看似复杂不好写,实际上越是这种问题越好写,一共分三部分,一部分一部分写,最后把所求的三个部分加起来就可以了
源代码演示:
#include<stdio.h>//头文件
int main()//主函数
{
int i,j,k;//定义整型变量,用于循环初值和循环限制 int sum1=0,sum2=0,sum3=0,sum;// 定义求和变量 for(i=1;i<101;i++)//求1+2+3……+100的和 { sum1=sum1+i;
}
for(j=1;j<51;j++)//求1*1+2*2+……+50*50的和 { sum2=sum2+j*j;
}
for(k=1;k<11;k++)//求1/1+1/2+……+1/10的和 { sum3=sum3+1/k;
}
sum=sum1+sum2+sum3;//最后将上述三个和加起来
printf("(1+2+3…+100)+(1*1+2*2+…50*50)+(1/1+1/2+…+1/10)="); //提示语句 printf("%d\n",sum);//输出结果 return 0;//函数返回值为0
}
编译运行结果如下:
(1+2+3…+100)+(1*1+2*2+…50*50)+(1/1+1/2+…+1/10)=47976
--------------------------------
Process exited after 1.497 seconds with return value 0
请按任意键继续. . .
注意for循环使用的时候不是嵌套,而是并列,三个for循环之间没有直接联系,只是分别求3个和,最后再将3个和相加。
C语言 | (1+….100)+(1*1+….50*50)+(1/1+…1/10)文章来源: zhuanlan.zhihu.com,作者:,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/323346075