题目告诉你了啊,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;
}
运行结果:
n太大可能超过int 的范围,用long 来定义
#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;
}