c语言 特殊a串数列求和

拼搏现实的明天。 2023-07-15 11:24 92阅读 0赞

给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。

输入格式:
输入在一行中给出不超过9的正整数a和n。

输出格式:
在一行中按照“s = 对应的和”的格式输出。

  1. 输入样例:
  2. 2 3
  3. 输出样例:
  4. s = 246

我的答案

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a, n;
  5. int s=0, item=0;//不要忘了初始值
  6. scanf("%d %d", &a, &n);
  7. for (int i = 0; i < n; i++)
  8. {
  9. item = 10 * item + a;
  10. s += item;
  11. }
  12. printf("s = %d",s);
  13. return 0;
  14. }

这里还可以用 函数

  1. #include <stdio.h>
  2. int num(int a,int n)
  3. {
  4. int item=0;
  5. for (int i = 0; i < n; i++)
  6. {
  7. item = 10 * item + a;
  8. }
  9. return item;
  10. }
  11. int main()
  12. {
  13. int a, n;
  14. int s=0;
  15. scanf("%d %d", &a, &n);
  16. for (int i = 1; i <= n; i++)//这里一定要注意i不能从1开始,因为这里i如果和上面函数一样的话,不能输出
  17. {
  18. s += num(a,i);
  19. }
  20. printf("s = %d",s);
  21. return 0;
  22. }

还可以用数组

  1. #include<stdio.h>
  2. void the_num(int a, int n,int p[])
  3. {
  4. p[0] = a;
  5. for (int i = 0; i < n-1; i++)//这里i的范围要小于n-1,不能小于n。因为小于n会出现数组越界。p[0]保存的是第一个数
  6. {
  7. p[i + 1] = p[i] * 10 + a;
  8. }
  9. }
  10. int main()
  11. {
  12. int p[9] = { 0 };
  13. int a, n;
  14. int s = 0;
  15. scanf("%d %d", &a, &n);
  16. the_num(a, n, p);
  17. for (int i = 0; i < n; i++)
  18. {
  19. s = s + p[i];
  20. }
  21. printf("s = %d\n", s);
  22. return 0;
  23. }

发表评论

表情:
评论列表 (有 0 条评论,92人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数列求和

     /\  题目描述     编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘。  1+1/2!+ .... +1

    相关 Java数列求和

    相同数字组成的不同位数的数的求和,如:s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。系统提示用户输入一个数字a,然后再提示用户输入一个数字作为相加的项数,最