【C语言-17】计算1/1-1/2+1/3-1/4+1/5........+1/99-1/100的值的小代码出炉啦~~~`

目录

解题分析第一步:

解题分析第二步:

解题分析第三步:


解题分析第一步:

  1. 首先观察计算式可以得:分子不变一直是1,分母从0~100依次增大;
  2. 然后重点是分母的变化是正负交替,奇正偶负;
  3. 根据分析,首先我可以写出一个1~100相加的代码:
#include<stdio.h>

int main() {

	int i = 0;

	int sum = 0;

	for (i = 1; i <= 100; i++) {
	
		sum = sum + i;
	}
	printf("%d", sum);


	return 0;
}

解题分析第二步:

  1. 接下来经过分析,题目所求的算式和上述代码的差别就是,将整数变成分数,并且正负号交替出现;
  2. 如此,需要多定义两个变量,一个用来作为计算式赋值,一个用来改变正负号;
  3. 接下来写的代码如下:
#include<stdio.h>

int main() {

	int i = 0;

	int sum = 0;

	int tmp = 1;

	int flag = 1;

	for (i = 1; i <= 100; i++) {

		tmp = 1 / i * flag;
	
		sum = sum + tmp;

		flag = flag * (-1);
	}
	printf("%d", sum);

	return 0;
}

解题分析第三步:

  1. 正当我以为大功告成的时候,看着运行结果:1;      眉头一皱,发现事情并不简单;
  2. 首先,这个值我掐指一算它是错的~~!!!!!!!   除数的值为小数,数据类型定义出错!!!!!
  3. 其次,别忘了double输出的时候,不是"%d"是"%lf";
  4. 至此,代码圆满,如下:
    #include<stdio.h>
    
    int main() {
    
    	int i = 0;
    
    	double  sum = 0;
    
    	double  tmp = 1;
    
    	int flag = 1;
    
    	for (i = 1; i <= 100; i++) {
    
    		tmp = 1.0/ i * flag;
    	
    		sum = sum + tmp;
    
    		flag = flag * (-1);
    	}
    	printf("%lf\n", sum);
    
    	
    	return 0;
    }

    又是心情粉粉的一刻~~~~~~biubiu~~~   ^-^

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值