c语言a+aa+aaa...
题目:
输入两个整数a和n。(1≤n≤14,1≤a≤9),计算 a+aa+aaa+...
分析:
这里n值达到了14,远超了整数的范围,但未超出double类型数据有效范围,因此,可用double来存储n个a的结果。整形会溢出。
实现过程:
定义一个double变量da,累加结果变量sum,初始化为0
定义两个整形变量a n用来存储输入数据
循环生成a, aa,aaa等数据,存储到da中,进行累加 : da=da*10+a; sum+=da ;
循环结束后,用%.0f输出累加结果(看起来象整数)
参考代码:
long sum;
sum=0;
int a,tmp;
a=1;
tmp=a;
for(int i=0;i<n;i++)
{
sum +=tmp;
tmp = tmp*10+a;
}
+=:含义是现有左值加右值的和赋给左值;
这句话就相当于temp=temp+a*(10的j-1次方);也就是随着j的自增temp=a,aa,aaa ....
只要有“//”这个符号,就说明是“注释”,也就是说,这一句程序可以忽略;
通过你的提问,向你提个建议,静心看一下基础知识,这些东西每个教程上都会有说到的,然后就是多调调程序!祝你顺利
temp+=a*pow(10,j-1);
这一句里pow(x,y)为求幂运算,是x的y次幂,就是10的j-1次幂
+=相当于temp=temp+a*pow(10,j-1);
cout<<temp<<"="<<sum<<endl;
是输出函数啊,和printf相同,建议去看相关的C++书籍
//cout<<temp<<"="<<sum<<endl;前面有“//”表示这一句不要了,其实它是c++的语句,可以取代下面紧跟的两句;作者希望使用a去×10的方次,所以使用了a*pow(10,j-1);如2*10^2=200,2*10^1=20,200+20+2=222;但是运行程序就会发现问题,输出地结果有明显错误;还有这个定义变量的类型至少要使用long,不知道有没有说明白?呵呵
4
用c 语言,还有编程计算a+aa+aaa+…+aa…a〔n个a〕的值,n个a的值由键...
上面的兄弟用的是C++我的是C语言哦 楼主要求用的是C吗 程序在下面: 题目很明显当然是计算a+aa+aaa+…+aa…a的值了 include<stdio.h> float fun(float a, int n) \/\/这是计算函数 { float s,sum;int i;s=1;sum=0;for(i=0;i<n;i++){ s *=a;sum += s;} return sum;} ma...
编程计算a+aa+aaa+...+aa...a(n个a)的值,n和a的值由键盘输出。
include <stdio.h>void main(){int i,a,n,k=0,sum=0;scanf("%d%d",&n,&a);for(i=1;i<=n;i++){k+=a;a=a*10;sum+=k;}printf("%d",sum);} 运行示例:
求指教。C语言.编程计算a+aa+aaa+……+aa…a(n个a)的值,要求n和a由用 ...
s定义时赋初值为0,另外在for循环的时候循环变量i的初值应为1,或是控制循环的时候改成i<n;这样循环了n次,否则是n+1次,再输入a,n的时候最好做个明显的分隔,应该这样写scanf("%d\\t%d",&a,&n);两个格式控制符中间应该加点东西分隔,比如逗号什么的。希望我的回答能对你有所帮助。。。共同...
C语言里求a+aa+aaa+aaaa+……有代码但是不清楚啥意思,输入a和n(位数...
1.i是工作变量,就是循环体中控制加i个a..a 2.s是当时循环体中求到第i个a...a的和,也就是a+aa+aaa+a...a最后一个是i个a 3.这三句中t是表示a...a(i-1个a),t*10+a之后就变成了a...a(i个a),s就是把t加上,那么加到现在加了i个不同的a...a ...
C语言求Sn=a+aa+aaa...+aa...aa(有n个a),a,n由键盘输入。
t中依次保存的是Sn的每一项,即a、aa、aaa...,只要将所有的t加起来,就是Sn的结果,保存在s里。当t=第k项aaa...a(共k个a)时,变量a=a00...0共k位(第一位为a,剩下位为k-1个0),a*10即在右侧补0,此时a为k+1位,其中有k个0。下一次循环时将有k位的t加上a,则a中的k...
用c 语言,还有编程计算a+aa+aaa+…+aa…a〔n个a〕的值,其中a是一个数...
include<stdio.h> include<math.h> unsigned long na(int a,int n){ unsigned long num=0;int i=0;for(i=0;i<n;i++){ num+=(a*pow(10,i));} return num;} unsigned long cal(int a,int n){ if(a==0)return 0;unsigned long result=0;int i=0;for(i=1;i<=n;i++)r...
这是一道C语言编程题:求s=a+aa+aaa+⋯⋯+aa⋯a,最后一项为n个a...
…+a*10^n-1得到的for(; i <= n; i++){sum += temp; temp *= 10;\/\/a=a*10 }return sum; } long getSum(long n, long a){\/\/计算a+aa+aaa…… int i = 1;long sum = 0;for(; i <= n; i++)sum += getVal(i,a); return sum; } int main(){long n = 0...
C语言题目求Sn=a+aa+aaa+aaaa+...+aaa...a(n个a)之值,其中a是一个数字...
可以参考下面的代码:include<stdio.h> int main() { int n,temp,i,sum=0,a;scanf("%d %d",&n,&a);temp=a;for(i=0; i<n; i++) { sum+=temp;temp=temp*10+a;} printf("%d\\n",sum);}
C语言求s=a+aa+aaa+aaaa+aa...a的值,大神给我每段解释一下吧_百度知...
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。\/ public static void main(String[]args){ Scanner sca=new Scanner(System.in);System.out.println("请输入一个数");int num=sca.nextInt();int n=0,sum=0;for(int i=1;i<=5;i++){ n=n*10+num;sum=sum+...
C语言程序设计纠错 计算:a+aa+aaa+...+aa...a(n个a)的值。a是数字1...
运行正确,注意你输入的格式是:2,3。中间一定要有一个半角的逗号。