求同学们解答,实在搞不懂,怎么规定n的范围啊

img


JJ巨佬物业费!!,。.…;、@?来咯我问问!哈毫不客气去刘博宇哈老家恶心午托!

题目告诉你了啊,n和a都是输入的,这个是一个规定,题目也没说明要判断超出范围怎么处理。
如果一定要判断的话,代码如下:

#include <stdio.h>
int main()
{
    int n, a;
    int i;
    double sum = 0,t=1;
    while (1)
    {
        scanf("%d%d", &n, &a); //读入n和a
        if (n >= 1 && n <= 14 && a >= 0 && a <= 9)
            break;
        else
            printf("输入错误,请重新输入:");
    }
    

    t = a;
    for (i = 1; i <= n; i++)
    {
        sum += t;
        t = t * 10 + a;
    }
    printf("%.0lf", sum);
    return 0;
}

运行结果:

img

n太大可能超过int 的范围,用long 来定义

img

#include<stdio.h>
int main() {
    long  term, sum = 0;
    long  a, i, n;

    scanf("%d %d",&n,&a);
    term = a;
    for (i = 1; i <=n;i++) {
        sum = sum + a;
    //    printf("%ld\n", sum);
        a = a * 10 + term;
    }
    printf("%ld\n",sum);
}

题里说了,n大于等于1,小于等于14。
你也可以写个判断,超出了int的最大值后输出错误提示

题目里说过1<=n<=14
就不会给你超过14或小于1的数字

#include<stdio.h>
int main()
{
int i,n,a,item=0,sum=0;
scanf("%d%d",&n,&a);
for(i=1;i<=n;i++)
{
item=item*10+a;
sum+=item;
}
printf("%d",sum);
return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632