⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch8_9.c

📁 C语言程序设计 冶金工业出版社 刘怀亮
💻 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 + -