C语言 a+aa+aaa+...

供稿:hz-xin.com     日期:2025-01-15
c语言初学者 a+aa+aaa+aaaa....n个a,谢谢,看看嘛。。

你这 while 里的条件什么意思……
按你这题目意思 ,a 应该是 0~ 9 之间的整数吧,给你一个我写的吧

#include
void main()
{
int i=1,n,a,t,sum;
printf("请输入一个数字:
");
scanf("%d",&a);
printf("请输入数字的位数:
");
scanf("%d",&n);
sum=0 ,t=a;
while (i<=n)
{
sum=sum+t;
i+=1;
t=t*10+a;
}
printf("answer is %d
",sum);
}

首先是pow()函数:原型:在TC2.0中原型为extern float pow(float x, float y); ,而在VC6.0中原型为double pow( double x, double y ); 头文件:math.h 功能:计算x的y次幂。 返回值:x应大于零,返回幂指数的结果。
+=:含义是现有左值加右值的和赋给左值;
这句话就相当于temp=temp+a*(10的j-1次方);也就是随着j的自增temp=a,aa,aaa ....
只要有“//”这个符号,就说明是“注释”,也就是说,这一句程序可以忽略;
通过你的提问,向你提个建议,静心看一下基础知识,这些东西每个教程上都会有说到的,然后就是多调调程序!祝你顺利

题目:

输入两个整数a和n。(1≤n≤14,1≤a≤9),计算 a+aa+aaa+...

分析:

这里n值达到了14,远超了整数的范围,但未超出double类型数据有效范围,因此,可用double来存储n个a的结果。整形会溢出。

实现过程:

参考代码:



#include <stdio.h>

void main()

{

int i,j,a,n,x=0,sum=0;

printf("请输入a,n的值:");

    scanf("%d %d",&a,&n);

    for(i=0;i<n;i++)

{

      for(j=0;j<=0;j++)

 {

         x=x*10+a;

 }

        sum+=x;

}

    printf("%d
",sum);

}

帮你改好了,自己看看




x用了前面的残留值,在内层循环前面要将x清零
望采纳

#include <stdio.h>
#include"math.h"
void main()
{
int i,a,x=0,n,sum=0;
scanf("%d %d",&a,&n);
for(i=1;i<=n;i++)
{
x=x*10+a;
sum=sum+x;
}
printf("%d\n",sum);
}

不需要两个循环!

自己在vs上调试以下
多改动几次

C语言 a+aa+aaa+...
循环生成a, aa,aaa等数据,存储到da中,进行累加 : da=da*10+a; sum+=da ;循环结束后,用%.0f输出累加结果(看起来象整数)参考代码:

求Sn=a+aa+aaa+……+aa…a(n个a)之值,其中a是一个数字,n表示a的位数...
sum=sum+term;} printf("a+aa+aaa+...+a...a=%d",sum);return 0;} 编写完程序之后,点击运行即可得出结果。最后的结果是根据自己输入的n值和a值为基础来进行运行的,每次输入的值不同,结果也会不同。其中:for表示循环结构,i 表示循环条件,在编写程序时,注意给赋予增值变量的条件。其中...

急!!C语言.编程计算a+aa+aaa+……+aa…a(n个a)的值,要求n和a由用户从...
+aa…a(n个a)的值,要求n和a由用户从键盘输入。50 guozi1273 | 浏览2789 次 |举报 我有更好的答案推荐于2017-12-16 19:23:18 最佳答案 void main(){int a=0,n=0,i=0,sum[100]={0},num=0;scanf("%d,%d",&n,&a);for(i=1;i<=n;i++){sum[i]=sum[i-1]*10+a;}for(i=1;i<...

用c 语言,还有编程计算a+aa+aaa+…+aa…a〔n个a〕的值,n个a的值由键...
a+aa+aaa+…+aa…a=a(1+11+111+...+111...11)\/\/\/ long N(){ char str[100];int s=1,t=1,i,n;scanf("%s",str);\/\/将n个a的值按字符串的方式接收到str;n=strlen(str);for(i=2;i<=n;i++){ t=t*10+1;s=s+t;} return (s*(str[0]-'0'));} ...

c语言a+aa+aaa...
+=:含义是现有左值加右值的和赋给左值;这句话就相当于temp=temp+a*(10的j-1次方);也就是随着j的自增temp=a,aa,aaa ...只要有“\/\/”这个符号,就说明是“注释”,也就是说,这一句程序可以忽略;通过你的提问,向你提个建议,静心看一下基础知识,这些东西每个教程上都会有说到的,然...

新手求教 c语言 关于a+aa+aaa...的问题,不知道下面的程序出现什么错误了...
include<math.h> int main() { int a,n,i = 0,s = 0,t = 0;printf("请输入a,n的数值:");scanf("%d,%d",&a,&n);while(i < n) { t = 10 * t + a;s = s + t;i++;} printf("a + aa + aaa + ... = %d\\n",s);return 0;} ...

C语言.编程计算a+aa+aaa+……+aa…a(n个a)的值,要求n和a由用户从键盘输...
a); main(){ int a , n ;printf("Input a,n:\\n");scanf("%d,%d",&n,&a);printf("sum=%ld\\n",sum(n,a));system("pause"); } int sum(int a,int n) {int i ;int A=a ;int s=0 ;for(i=1;i<=n;i++){s+=A;A=A+a*pow((double)10,i);}return s; } ...

用C语言:输入2个正整数a和n,求a+aa+aaa+...(n个a)之和。我写这个程序...
这个结果是double的, 转成r会取整。r=r+a*pow(10,i);改成 r=r*10+a;例如:include <stdio.h> main() { int a,n,sum,i,q; scanf("%d %d",&a,&n);q=n; sum=0; for(i=1;i<=n;i++) { sum=sum+a*q; a=a*10; q--;} printf("%d",sum); return 0; } ...

求S=a+aa+aaa+...+aaa...a的编程题
求Sn=a+aa+aaa+...+aaa...a(n个a)之值,其中a是一个数字。例如;2+22+222+2222+22222(此时n=5),n由键盘输入。初看的话,觉得它有点棘手,觉得代码要挺长的,但事实上却可以这样写:c语言代码:include <stdio.h> void main(){ int a,n,i=1,sn=0,m=0;printf("a,n=");sca...

C语言编程:求Sn=a+aa+aaa+···+aa··a(n个a)的值,其中a和N键盘输入...
include <stdio.h> void main(){ int a,n,count=1;long int sn=0,tn=0;printf("please input a and n\\n");scanf("%d%d",&a,&n);printf("a=%d,n=%d\\n",a,n);while(count<=n){ tn=tn+a;sn=sn+tn;a=a*10;++count;} printf("a+aa+...=%ld\\n",sn);} ...