滴滴滴…代码千万条,规范第一条。帮刚开始学c语言的小伙伴解答了一道数列求和题,赶紧记下来,emmmm…不仅让我想起了几个月前,刚学c语言时候自己这也不会那也不会的傻里傻气的样子,不堪回首呀🙈。代码的世界可能就像一本书,一旦翻开了,开始晦涩难懂是难免的,只有当你读到最后时,才会明白这本书有多好吧。
小伙伴的代码:
int main(void)
{//不加头文件
int i,n;
float s=0,flag=1;//初始化不规范
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=s+i/flag;
flag=-(flag+2);//逻辑错误,不能将正负号交给分母
}
printf("%.3f",s);
}
//没有出口
正确代码:
#include<stdio.h>
int main(void)
{
int i;
int n;//n个数
int deno=1;//deno表示分母,初始化为1
double sum=0.0;//sum保存总和
double flag=1.0;//flag用来标记正负号,在for循环中不断正负交替
scanf("%d",&n);
for(i=0;i<n;i++)
{
sum+=flag/deno;
deno+=3;
flag=-flag;
}
printf("%.3lf\n",sum);
return 0;
}