标准库函数使用与编译预处理_第1页
标准库函数使用与编译预处理_第2页
标准库函数使用与编译预处理_第3页
标准库函数使用与编译预处理_第4页
标准库函数使用与编译预处理_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE创建时间:实验题目标准库函数使用与编译预处理实验时间2012年5月8日实验地点DS1421实验成绩实验性质□验证性√设计性□综合性教师评价:□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;□实验结果正确;□语法、语义正确;□报告规范;其他:评价教师签名:一、实验目的1.掌握文件包含预处理的使用方法;2.掌握建立和调试多源程序文件程序的方法;3掌握全局变量和局部变量的定义方法以及其作用域的确定方法,并能进行区别;4.理解“文件包含”处理和“工程文件”的方法概念及区别,并学会应用;5.理解和掌握最大公约数和最小公倍数的求解方法及程序实现。二、实验项目内容(实验题目)编程实现功能:求2个数的最大公约数和最小公倍数。要求用函数实现,并且将主函数和这两个函数分别存入3个文件“sy4-学号-a.cpp”,“sy4-学号-b.cpp”,“sy4-学号-c.cpp”中。然后用文件包含和工程文件2种方法实现多文件编译链接。三、源程序(实验过程或算法)1.#include”方式:a.cpp:#include<stdio.h>#include"E:\20116566\sy4-20116566-b.cpp"#include"E:\20116566\sy4-20116566-c.cpp"longb(intm,intn);longc(intm,intn,intr);voidmain(){ longm1,n1,g,l; printf("ThisisinFilesy4-20116566-a.cpp\n"); printf("***input:m1,n1****\n"); scanf("%ld,%ld",&m1,&n1); g=b(m1,n1); printf("g=%ld\n",g); l=c(m1,n1,g);printf("l=%ld\n",l); }b.cpp:#include<stdio.h>longb(intm,intn){ intbs,t; printf("ThisisinFilesy4-20116566-b.cpp\n");while(n!=0) {t=m%n; m=n; n=t; bs=m; } returnbs;}c.cpp:#include<stdio.h>longc(intm,intn,intr){ longcs;r=b(m,n); printf("ThisisinFilesy4-20116566-c.cpp\n");cs=m*n/r; returncs;}对a.cpp编译、连接、运行,得到结果。2、工程方式:a.cpp+b.cpp+c.cpp形成工程文件sy3,对”工程文件sy3”四、源程序调试过程(或运行结果)1.#include”方式调试结果2.工程方式调试结果:五、实验小结(体会):1.通过对以上题目的分析,经过c语言的编程过程,掌握了多源文件c程序的组织方法。2.理解了条件编译的意义及使用方法。3掌握了使用工程文件的方法来组合同一个c程序的不同源程序文件。4.工程文件使用过程中,c.cpp文件中需对函数b进行声明。#include<stdio.h>#include<string.h>#defineN20voidmain(){ chars1[N],s2[N]; inta[N]={0},b[N]={0},l1,l2,c,k,i; puts("Inputtwonumbers1ands2:"); 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(k=c;i>=0;i--) { a[i]+=b[i]; if(a[i]>=10) { a[i]=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"); }#include<stdio.h>#include<string.h>#defineN20voidmain(){ chars1[N],s2[N]; inta[N]={0},b[N]={0},l1,l2,j,k,i; printf("Inputs1ands2"); gets(s1); gets(s2); l1=strlen(s1); l2=strlen(s2); { if(i=k,j=l1-1,j>=0;i--;j--) {请编制程序实现功能:利用字符数组实现两个大整数的加法stringplus_1(conststring&a,conststring&b){stringresult;charttemp[2];intalen,blen,i,j;intadd,temp;ttemp[1]='\0';alen=a.size();blen=b.size();add=0;for(i=alen-1,j=blen-1;i>=0&&j>=0;i--,j--){temp=add+((int)a[i]-48)+((int)b[j]-48);add=temp/10;ttemp[0]=temp%10+48;result.insert(0,ttemp);}while(i>=0){for(;i>=0;i--){temp=add+(a[i]-48);add=temp/10;ttemp[0]=temp%10+48;result.insert(0,ttemp);}}while(j>=0){for(;j>=0;j--){tem

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论