C语言 | 求特定规律数的和
例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个和相加。
题目+源码+注释全方位解析