设计程序计算并输出1+1/3+1/5+......1/99
void main()
{
int i;
double sum;
for(i = 1, sum = 0; i <= 99; i = i + 2)
{
sum += (double)1 / i;
}
printf("sum = %lf\n", sum);
}
为什么sum=0?还要用sum += (double)1 / i;0加上右边的(double)1 / i做何解啊?急~求助~~~~~~~~~ 展开
#include<stdio.h>
int main()
{double s=0;
int i;
for(i=1;i<100;i+=2)
s+=1.0/i;
printf("%lf\n",s);
return 0;
}
扩展资料
C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。
相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。
而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)
合理使用优先级可以极大简化表达式。
#include<stdio.h>
int main()
{double s=0;
int i;
for(i=1;i<100;i+=2)
s+=1.0/i;
printf("%lf\n",s);
return 0;
}
扩展资料
C语言有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,因此既能够用于开发系统程序,也可用于开发应用软件。通过对C语言进行研究分析,总结出其主要特点如下:
(1)简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
2、因为只写1的话默认是个int型数,i也是个int型数,那么1/i就是int型的1除以3,或除以5,7...等等,算出来都是0。因为整数除法忽略小数部分。若前面加上double,则整个除法被认为是double型的1.0除以double型的3.0,5.0。。。等等,算出来就是正确的小数结果了。
广告 您可能关注的内容 |