求助:C语言编程求s=2+4+8+…+n(n<=3020)的值!另外,C语言学习编程时,怎样学才能学好?字符都看不懂啊
展开全部
你的具体的编程的问题, 大家已经回答你了. 关于你说的觉得编程困难的问题, 是因为你跟电脑不一样. 比如你碰到一个问题, 拿你说的这个s = 2 + 4 + 8 +....+ n(n<=3020)来说, 如果你自己去做, 你是不会一个一个去加的, 因为要运算很多次, 我们运算很多次要花很长的时间, 你数学老师也不会推荐你一个一个加, 他(她)会告诉你一个已经被验证过的公式适用于这种情况, 你会直接利用公式去得出答案. (但是你就得记忆公式了)
但是电脑的设计就是不怕运算, 它运算一次的时间跟我们比要快的多的多,所以你只要让它知道要加的是什么数, 它可以在很快的时间内做完这样的加法, 所以是更直接的方式去完成任务, 这个就解放了你, 你不需要告诉它是什么公式. 你这个例子里就是把2到3020的偶数相加, 大家给你的例子就是利用循环逐个把这些偶数告知电脑并让它进行相加.
你现在觉得比较困难, 可能是因为你觉得解决问题的方式和电脑适用的方式差异比较大, 你可以先看简单的例子去理解电脑习惯于如何去做, 等到你熟悉了编程的基本概念, 你再看面相对象的编程就会好多了, 面象对象的编程就更偏向于你解决问题的方法而不是电脑, 有很多可以用的类/模块是按照你的思维方式去给你用的, 至于怎么实现和电脑的沟通, 都被封装在类/模块的代码中了.
最后, 不用怕麻烦, 看不懂的地方就停一下, 想想具体什么知识点不懂, 然后请教人, 弄懂为止, 不急不躁, 慢慢你就在编程的道路上越走越远了.... :)
但是电脑的设计就是不怕运算, 它运算一次的时间跟我们比要快的多的多,所以你只要让它知道要加的是什么数, 它可以在很快的时间内做完这样的加法, 所以是更直接的方式去完成任务, 这个就解放了你, 你不需要告诉它是什么公式. 你这个例子里就是把2到3020的偶数相加, 大家给你的例子就是利用循环逐个把这些偶数告知电脑并让它进行相加.
你现在觉得比较困难, 可能是因为你觉得解决问题的方式和电脑适用的方式差异比较大, 你可以先看简单的例子去理解电脑习惯于如何去做, 等到你熟悉了编程的基本概念, 你再看面相对象的编程就会好多了, 面象对象的编程就更偏向于你解决问题的方法而不是电脑, 有很多可以用的类/模块是按照你的思维方式去给你用的, 至于怎么实现和电脑的沟通, 都被封装在类/模块的代码中了.
最后, 不用怕麻烦, 看不懂的地方就停一下, 想想具体什么知识点不懂, 然后请教人, 弄懂为止, 不急不躁, 慢慢你就在编程的道路上越走越远了.... :)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//看到前面两个人都在应付你,他们的代码都有错、或者不完整。所以我写了一个适合你的,入门级的、正确的代码,希望你看一下,并且尝试运行。我测试了的,没有问题。有问题再问我吧
#include<stdio.h>
int main()
{
int n,s;
for(n=2,s=0;n<=3020;n=n*2)
s=s+n;
printf("s= %d",s);
return 0;
}
最后想给你推荐一下,新手一般都看谭浩强的书,你也可以买一本来看,简单易懂
#include<stdio.h>
int main()
{
int n,s;
for(n=2,s=0;n<=3020;n=n*2)
s=s+n;
printf("s= %d",s);
return 0;
}
最后想给你推荐一下,新手一般都看谭浩强的书,你也可以买一本来看,简单易懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多动手就好,从基础做起
#include<stdio.h>
int main(void)
{
int result,i;
for(i = 2,result = 0;i <= 3020;i *= 2)
{
result += i;
}
printf("The result is : %d\n",result);
}
#include<stdio.h>
int main(void)
{
int result,i;
for(i = 2,result = 0;i <= 3020;i *= 2)
{
result += i;
}
printf("The result is : %d\n",result);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void mai()
{
int a=2,sum=2;
for(;;)
{
a*=2;
if(a>3020) break;
else sum+=a;
}
printf("The sum is %d",sum)
}
有问题可以追问,喜欢请采纳!
{
int a=2,sum=2;
for(;;)
{
a*=2;
if(a>3020) break;
else sum+=a;
}
printf("The sum is %d",sum)
}
有问题可以追问,喜欢请采纳!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询