📄 ch8_9.c
字号:
/*CH8_9*/
/*高精度运算*/
#include<stdio.h>
void main()
{
int out[103]; /* 计算后的数据*/
char in[101]; /* 读入数据*/
int len; /* 读入数据的长度*/
int i,c,temp; /* 循环控制变量和临时变量定义,c是进位*/
for(i=103;i>-1;i--)
out[i]=0; /* 初始化*/
scanf("%s",in); /* 读入数据*/
while(!(in[0]=='0'&&in[1]=='\0')) /* 以一个"0"表示输入结束 */
{
/* 每读入一个数据处理一次*/
len=0;
while(len<101&&in[len]!='\0')len++; /* 计算数据长度*/
i=102; /* 从低位开始处理*/
len--;
while(len>-1)
{
out[i]+=in[len]-'0'; /* 计算相加的值,其中减'0'是与整型转换*/
len--;
i--;
}
/* 计算进位,使整型数组中的元素保持在0-9之间*/
c=0;
for(i=102;i>=0;i--)
{
temp=out[i]+c;
out[i]=temp%10;
c=temp/10;
}
scanf("%s",in); /* 读入下一个数据*/
}/*while()*/
/* 输入完成首先统计整型数组中从下标为0开始有多少个元素是0 */
i=0;
while(out[i]==0) i++; /* 到第1个不是0时结束*/
/* 因为输出的数最高位不能是0*/
for(;i<103;i++)
printf("%d",out[i]); /* 输出结果*/
printf("\n");
}/*main()*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -