本文主要是介绍【C语言|菜鸟教程】100道进阶经典例题详细解答(C 练习实例18 - 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- 一、题目描述
- 二、题目分析
- 三、解题
- 程序运行代码1
- 程序运行代码2
- 总结
前言
本系列为C语言菜鸟100道基础经典例题详解刷题系列。每天1题,点滴成长,一起逆袭。
一、题目描述
题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
二、题目分析
程序分析:关键是计算出每一项的值。
三、解题
程序运行代码1
#include<stdio.h>
int main()
{int i,j,a,n,sum=0,y;scanf("%d %d",&a,&n);for(i=1;i<=n;i++){y=0; //确保第一个数为2for(j=1;j<=i;j++){ //求每一项2,22,222......y=y*10+a; //根据规律得出}sum+=y;}printf("sum=%d",sum);return 0;
}
程序运行代码2
#include<stdio.h>
#include<math.h>int main()
{int i, a, n, sum=0;printf("请输入 a 和 n:\n");scanf("%d%d", &a, &n);for(i=0; i<n; i++){sum += a*pow(10, i)*(n-i);}printf("sum is %d\n", sum);return 0;
}
总结
C语言 pow() 函数用来求 x 的 y 次方的值。
头文件:math.h
语法/原型:
double pow(double x,double y);
这篇关于【C语言|菜鸟教程】100道进阶经典例题详细解答(C 练习实例18 - 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!