实验题目 | C语言基本控制结构应用 | ||
实验时间 | 2011年5 月 19日 | 实验地点 | DS1421 |
实验成绩 | 实验性质 | □验证性 √设计性 □综合性 | |
教师评价: □算法/实验过程正确; □源程序/实验内容提交 □程序结构/实验步骤合理; □实验结果正确; □语法、语义正确; □报告规范; 其他: 评价教师签名: | |||
一、实验目的 1.掌握数组的定义、初始化、以及数组元素的引用方法 2.掌握使用数组表示相关同类数据以及相应的程序设计基本方法 3.掌握字符数组的定义、输入、输出 4.掌握字符串有关的标准库函数的使用 | |||
二、实验项目内容(实验题目) 在实际的工程应用中常常出现超过系统整型数据类型表示范围的大整数,所以有必要研究大整数在程序中的处理方法。请编制程序实现功能:利用字符数组实现两个大整数的加法。 | |||
三、源程序(实验过程或算法) #include <stdio.h> #include <string.h> #define N 200 void main() {char s1[N],s2[N]; int a[N]={0},b[N]={0},l1,l2,c,k,i; puts("请输入两个较大的数字(Note:输完一个按一次回车):"); printf怎么加两个条件gets(s1); gets(s2); l1=strlen(s1); l2=strlen(s2); if(l1<l2) k=l2; else k=l1;c=k; for(i=0;i<l1;k--,i++) a[k]=s1[l1-1-i]-'0'; for(k=c,i=0;i<l2;k--,i++) b[k]=s2[l2-1-i]-'0'; printf("\n"); for(i=c;i>=0;i--) {a[i]+=b[i]; if(a[i]>=10) {a[i]-=10; a[i-1]++;} } printf("此两数相加之和为:"); if(a[0]!=0) {for(i=0;i<=c;i++) printf("%d",a[i]);} else {for(i=1;i<=c;i++) printf("%d",a[i]);} printf("\n"); } | |||
四、源程序调试过程和(或)实验分析 第一次运行过程: 第二次运行过程: 实验体会:此次实验让我体会到字符串的妙用,通过其所作的和运算,避免了数据溢出,实现了很大数的求和。所以,在以后的学习中,可以尽可能的探索,把已知的知识串联起来,就能得到意想不到的收获!! | |||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论