关于很多位数数据输出问题。
求Sum=a+aa+aaa+...+aaaa(n个a)之值。其中a是一个数字,n表示a的位数,例如2+22+222+2222+22222(此时a=2,n=5) a,n由键盘输入:#include<iostream>
using namespace std;
main()
{
long int a1,a2,a,i=1,sum1=0,sum2=0,n;
printf("plese input a number:");//输入一个基本整数//
scanf("%d",&a);
printf("please input an int:");
scanf("%d",&n);
a1=a;
while(i<=n)
{
printf("%ld",a1);
sum1=a1;
sum2+=sum1;
a2=a1*10+a;
a1=a2;
i++;
}
printf("sum2=%ld",sum2);
}
我想问一下,当输入的n值很大的时候(比如说是20),就会出现错误,我要怎么办才能防止这样的事情发生?我应该定义数据类型是什么?要以什么样的格式输出呢?