用C语言求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字

该博客介绍如何使用C语言计算序列Sn=a+aa+aaa+aaaa+aaaaa的前5项之和。通过用户输入一个数字a,程序会检查a是否为0到9之间的个位数。如果是非零数字,程序将按公式计算和;如果a大于9,显示错误提示。用户可以连续输入直至输入0结束程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字。
思路:用for循环遍历一遍,先求出每位加数,再将所有的加数累加起来。
代码实现功能:用户输入一个数字a,先判断是否处于0~9之间,若是一个非零的个位数,则按公式计算,若大于9,则输出“输入有误,请重新输入”的提示信息,连续输入合理的数字a可以一直计算,直到输入数字为0,跳出程序,至此程序结束。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//封装一个函数func()实现Sn=a+aa+aaa+aaaa+aaaaa
int func(int a)  {
        int sn = 0;
        int tmp = 0;
        for (int i = 0; i < 5; ++i)     {
                 tmp += a*pow(10, i);
                 sn += tmp;
        }
        return sn;
}
int main()  {
        int a;
        int sn;
        int tmp = 0;
        printf("请输入一个0~9之间的整数a:\n");
        printf("输入0时退出程序\n");
        while (1)    {
        //输入有效则一直执行计算
                 if (scanf("%d", &a))    {
                 //判断输入是否合理,合理则计算,否则跳出本次循环
                         if (a > 0 && a < 10)    {  
                                  sn= func(a);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值