1、问题及代码:
/*
*copyright(c)2016,时缔实验室
*All rights reserved.
*文件名称: sum.c
*作 者: 时帝
*完成日期: 2016年4月2日
*版 本 号: v1.0
*
*问题描述:求1+1/2+1/3+…+1/10?;
*输入描述:不需要输入;
*程序输出:直接求得结果sum;
*/
#include <stdio.h>
int main()
{
int a=1;
double sum=0.0,b;
while(a<=10)
{
b=1.0/a;
sum=sum+b;
a++;
}
printf("sum=%f\n",sum);
return 0;
}
运行结果:
2、问题及代码:
/*
*copyright(c)2016,时缔实验室
*All rights reserved.
*文件名称: sum.c
*作 者: 时帝
*完成日期: 2016年4月2日
*版 本 号: v1.0
*
*问题描述:求1/2-2/3+…+9/10?;
*输入描述:不需要输入;
*程序输出:直接求得结果sum;
*/
#include <stdio.h>
int main()
{
int a=2;
double sum=0.0,b,c=1.0;
while(a<=10)
{
b=c*(a-1)/a;
sum=sum+b;
a++;
c=-c;//可以改变表达式的符号;
}
printf("sum=%f\n",sum);
return 0;
}
知识总结:
while循环的用法;
学习心得:
第二题中,c=-c,就能解决符号的转变,
当a=2时,c=1代入;当a+1,由c=-c,即得c=-1代入;当a+2,由c=-c,得c=-(-1),以此类推。