C语言 | (1+….100)+(1*1+….50*50)+(1/1+…1/10)

举报
C语言入门到精通 发表于 2021/02/07 15:40:32 2021/02/07
【摘要】 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个和相加。
C语言开发工具
更多案例可以go公众号:C语言入门到精通
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。