C语言编程:s=1+12+123+1234+12345求高手!急~~

int s = 1;
for(int i=1; i<=5; )
{s += i*10 + ( ++i ) }
spirtf ("s=%d',s) ; 好多答案都是这个,s += i*10 + ( ++i ) 这句不对吧,求助。。

的确错了
-------------------
s += i*10 + ( ++i )其实是s=s+【 i*10 + ( ++i )】,而(++i)则是i+1
于是代码变成了
for(int i=1;i<=5)
{
s= i*10 + i+1+s;
i++;
}
显然,一对比,这个结果是错了的
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-13
int t=0,s=0,i;
for(i=1;i<=5;i++)
{ t= t*10+i ; s=s+t;
}
i=1, t=1, s=0+1=1;
i=2, t=1*10+2=12, s=1+12;
i=3, t=12*10+3=123, s=1+12+123;
i=4, t=123*10+4=1234, s=1+12+123+1234;本回答被网友采纳
第2个回答  2012-05-03
如果一条语句多出运用到i的话,最好拆分表达式,这种编程习惯只会在笔试面试时候会考你。
建议拆分为s += i*10; s+=++i;
或者
for (int i=1;i<=5;i++)
s+= i*10+i+1;追问

1+12+123+1234+12345的规律是s += i*10 + i 吗?我怎么看不明白,当 i =1时 s= 11 ,i=2,s=22吧,怎么会是1+12+123+1234+12345呢,求解?

追答

i=1 s+=i*10+i+1 后 s=1+12=13
i=2 运算后 s=13+120+3=136
.....

第3个回答  2012-09-21
int t=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+t*10;s=s+t;}
printf("s=%d\n",s);

C语言编程:s=1+12+123+1234+12345求高手!急~~
s += i*10 + ( ++i )其实是s=s+【 i*10 + ( ++i )】,而(++i)则是i+1 于是代码变成了 for(int i=1;i<=5){ s= i*10 + i+1+s;i++;} 显然,一对比,这个结果是错了的

C语言编程:s=1+12+123+1234+12345求高手!
include "stdio.h"int f(int n){\/\/自定义递归求和函数if(n==1)return 1;return n+f(n\/10);\/\/用n\/10调用满足每项逐次少低位数的规律}int main(int argc,char *argv[]){printf("%d\\n",f(12345));\/\/用最后一项数字调用求和return 0;}执行结果如下:...

如何用c语言编写s=1+12+123+1234+12345程序
printf("The sum of 1+12+123+1234+12345 is%d.\\n",sum);return 0;}

C语言编程求s=1+12+123+12345+123456+1234567+12345678的值_百度...
{ int i,s=1,t=1;for(i=2;i<=8;i++){ t = t*10 +i;\/\/t是这是增量 s += t;\/\/s放和 } printf("s=%d\\n",s);}

如何用C语言编写1+12+123+1234+12345?
s,分别用于存储数列加法迭代中的次新项、最新项和和值,它们的初值都是零。然后进入一个for循环,其中i为计数变量,它的取值在1和5之间,显然,对这个数列中的每一项,有通项公式:ar2=10*ar1+i 。。。这里空间太小,不再详细叙述了,下面做了它的升级版,代码见配图。代码 运行样例 ...

用c++编写1+12+123+1234+12345的程序
\/\/ Note:循环、迭代求 1 + 12 + 123 + 1234 +...+ 123...n=?\/\/ y=0+fn(1)+fn(2)+fn(3)+...+fn(n)include <iostream> using namespace std;int fn(int n) \/\/利用迭代法求fn(n){ if (n==1) return 1;else return (fn(n-1)*10+n);} int main(){ int n,i,y...

C语言编一个程序求 1+12+123+1234+。。。+N(0〈N〈10)
void main(){ int a[9]={1,12,123,1234,12345,123456,1234567,12345678,123456789};int n,ans=0;printf("Input a number N(0<N<10):");scanf("%d",&n);while(n<=0||n>=10){ printf("A wrong number ! Input N again :");scanf("%d",&n);} for(int i=0;i<n;i=i+...

用c语言实现:s=1+12+123+……+123456789
int s=1-12+123-1234+12345;如果是要按一定规律的计算,比如计算10以下的 int s = 0;int nsymbol= -1;int ntmp = 0;for(int i = 1;i<=10;i++){ ntmp = 10 ntmp;ntmp += i;nsymbol = -1;s += nsymbol ntmp;} 朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有...

1+12+123+1234+12345+123456+1234567+12345678+123456789用C语言怎 ...
include <stdio.h> main(){ long a[10]={1,12,123,1234,12345,123456,1234567,12345678,123456789};long int b;b=a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9];printf("%ld",b);getch();}

要求以下程序的功能是计算:s=1+12+123+1234+12345 请填空 C++
填的是(10的i减一次方)

相似回答