#include <stdio.h>
void main()
{long int a,n,N=1;
printf("请输入a和n");
scanf("%d%d",&a,&n);
printf("a=%d,n=%d\n",a,n);sn=an=0;
while(N<=n){
an=an*10+a;sn=sn+an;N++;
printf("%d %d\n",an,sn);}
printf("sn=%100d\n",sn);
}
当输入1 15 也就是说当n>10时 该怎么输入输出
我找到解决办法了 就是定义为doubie 输出%e就行
c语言中因数据的存储格式限制,不同类型的数据所能精确表示的数据(整数)位数是有限度的,如:
int 占4字节,有符号最大数为:2^31-1 = 2147483647 有效数据位最大为10位。 输入输出格式串为%d
long 在64位编译系统下,占8字节,有符号最大数为:2^63-1=9223372036854775807 (受机器和开发工具限制) 有效数据位最大为19位。 输入输出格式串为%ld
double 占8字节,有效数据位最大为16位。 输入时,采用%lf格式串,输出时,采用%.0f来去掉小数部分的0
如果操作的数据在以上位数范围内,可选择相应的类型进行数据变量定义。
如果想表达任意长度的整数,则只能采用字符串进行数据存储,输入输出按字符串进行处理,格式串为%s。如果需要进行相应的算术运算,则需要自定义函数去完成相应的功能。实现过程就是按四则运算规则,进行相应位的数据计算。详情可查问大数加减法运算资料。
你这是使用的什么语言?
追答c语言啊 有什么问题 尽管说