题目:
求Sn=a+aa+aaa+aaaa+aaaaa+……的前n项之和,其中a是一个数字,
例如:2+22+222+2222+22222+……
=========================================================================
思路:
总体思路:
(一).
生成变量:
int a = 0; -- 题目中的a
int n = 0; -- a 的前 n 项
输入 a 和 n -- scanf()函数
(二).
规律:a + a*10+a + a*10+a*100+a + ……
利用规律 算出每一项 再相加
创建相关变量:
int sum = 0; -- 算出每一项后相加
int k = 0; -- 用于算出每一项
使用 for循环 循环n次,算n次
利用 k 和 上面的规律 计算出每一项:
k = k * 10 + a;
算出每一项后相加:
sum += k;
(三).
输出结果 -- printf();
第一步:
(1).
生成变量:
int a = 0; -- 题目中的a
int n = 0; -- a 的前 n 项
(2).
输入 a 和 n -- scanf()函数
实现代码:
#include <stdio.h> int main() { //生成变量: int a = 0; //题目中的a int n = 0; //a的前n项 //输入 a 和 n -- scanf()函数 scanf("%d %d", &a, &n); return 0; }
实现图片:
第二步:
规律:a + a*10+a + a*10+a*100+a + ……
利用规律 算出每一项 再相加
(1).
创建相关变量:
int sum = 0; -- 算出每一项后相加
int k = 0; -- 用于算出每一项
(2).
使用 for循环 循环n次,算n次
利用 k 和 上面的规律 计算出每一项:
k = k * 10 + a;
算出每一项后相加:
sum += k;
实现代码:
#include <stdio.h> int main() { //生成变量: int a = 0; //题目中的a int n = 0; //a的前n项 //输入 a 和 n -- scanf()函数 scanf("%d %d", &a, &n); //创建相关变量: int sum = 0; //算出每一项后相加 int k = 0; //用于算出每一项 //使用 for循环 循环n次,算n次: int i = 0; for (i = 0; i < n; i++) //前n项,算n次 { k = k * 10 + a; //利用规律算出每一项 sum += k; //每一项相加 } return 0; }
实现图片:
第三步:
输出结果 -- printf();
实现代码:
#include <stdio.h> int main() { //生成变量: int a = 0; //题目中的a int n = 0; //a的前n项 //输入 a 和 n -- scanf()函数 scanf("%d %d", &a, &n); //创建相关变量: int sum = 0; //算出每一项后相加 int k = 0; //用于算出每一项 //使用 for循环 循环n次,算n次: int i = 0; for (i = 0; i < n; i++) //前n项,算n次 { k = k * 10 + a; //利用规律算出每一项 sum += k; //每一项相加 } //输出结果: printf("%d\n", sum); return 0; }
实现图片:
最终代码和实现效果
最终代码:
#include <stdio.h> int main() { //生成变量: int a = 0; //题目中的a int n = 0; //a的前n项 //输入 a 和 n -- scanf()函数 scanf("%d %d", &a, &n); //创建相关变量: int sum = 0; //算出每一项后相加 int k = 0; //用于算出每一项 //使用 for循环 循环n次,算n次: int i = 0; for (i = 0; i < n; i++) //前n项,算n次 { k = k * 10 + a; //利用规律算出每一项 sum += k; //每一项相加 } //输出结果: printf("%d\n", sum); return 0; }
实现效果: