栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言基础练习100--017(求a+aa+aaa..)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言基础练习100--017(求a+aa+aaa..)

题目:求s=a+aa+aaa+aaaa+...aaa的值,其中a是一个数字。例如:2+22+222+2222+22222(此时共有五个数相加),几个数相加由键盘控制。

分析: 

1.如何由键盘控制,即输入一个个位数,由程序设计几个数相加,得出和。

int  a=2;

//通过程序得到

a=22;a=222;a=2222;a=22222;

//然后相加得到

sum

----------------------------------------

在这里我们可以使用while(循环次数){}也可以用for()

2.如何表示a aa aaa aaaa...

拿例子入手:

22=2*10+2;

222=22*10+2;//

2222=222*10+2;

22222=2222*10+2;

-------------------------

 a(新的 )= a(旧的)*10 +a(旧的).

但是当我们这样表示的时候 我们会发现 【+a(旧的)】部分也是会改变

所以我们可以使用一个中间变量(temp),在开始的时候就给他赋值(2)

------------------------------------------------------------------------------------------------

a(新的)=a(旧的)*10+temp

 

#include 
int main(){
    int a=2,temp,n=1,sum=0;
	temp=a;
	printf("a=%dn",a);
	while(n<=5){
	     a=a*10+temp;
		 printf("a=%dn",a);
		 sum+=a;
         n++;
	}
	sum=sum+temp;
printf("sum= %dn",sum);
return 0;
}

 


 

 

#include 
int main(){
    int a,temp,n,i,sum=0;
    printf("请输入a和n的值:n");
	scanf("%d %d",&a,&n);	
	temp=a;
	sum=a;
	for(i=1;i<=n;i++){
		 a=a*10+temp;
        sum+=a;
	}
printf("sum= %dn",sum);
return 0;
}

 


多尝试 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/926032.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号