C语言实验题目1-3-4-5-6-7-8及扩展练习.doc_第1页
C语言实验题目1-3-4-5-6-7-8及扩展练习.doc_第2页
C语言实验题目1-3-4-5-6-7-8及扩展练习.doc_第3页
C语言实验题目1-3-4-5-6-7-8及扩展练习.doc_第4页
C语言实验题目1-3-4-5-6-7-8及扩展练习.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

C语言实验题目谭浩强 C程序设计 第三版实验11.5 请参照本章例题,编写一个C程序,输出以下信息:* Very good!*1.6 编写一个程序,输入a,b,c三个值,输出其中最大者。实验33.7 要将China译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母A后面的字母是E,用E代替A。因此,China 应译为Glmre。请编写一个程序,用赋值的方法使 c1,c2,c3,c4,c5 5个变量的值分别为C,h,i,n, a,经过运算,使c1,c2,c3,c4,c5的值分别变为Glmre,并输出。实验44.8 设圆的半径r=1.5,圆柱的高h=3,求圆的面积,圆球的表面积,圆球的体积,圆柱体积。用scanf输入数据,输出计算结果,输出时要有文字说明,取小数点后2位数字。请编写程序。4.9 输入一个华氏温度,要求输出摄氏温度。公式为 输出要求有文字说明。 实验55.5 有一个函数: 编程序,输入x值,输出y值。 5.6 给一个百分制成绩,要求输出等级A、B、C、D、E。 90分以上为A,8090分为B,7079分为C, 6069分为D ,60分以下为D 。5.7 给定一个不多于5位的正整数,要求: 求它是几位数; 按逆序打印出各位数字。例如原数为321,应输出123。 实验66.2 输入一行字符,分别统计其中英文字母、空格、数字和其它字符的个数。6.3 求Sn=a+aa+aaa+aaaaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。 6.6 打印出所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=13+53+33。 6.8 求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,前20项之和。实验77.2 用选择法对10个整数从小到大排序。 7.3 求一个33矩阵对角线元素之和。 7.4 已有一个已排好序的数组,输入一个数,按原来排序的规律将它插入到数组中的适当位置并输出插入后的数组各元素。 7.5 数组的顺序查找算法:对任意输入的一个数,在数组中进行查找,若能找到,输出相应的数组元素下标,否则输出“查找失败”。查找过程:从数组的一端开始逐个进行数组元素和给定值的比较实验88.2 求方程ax2+bx+c=0 的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 8.3 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 8.4 写一个函数,使给定的一个二维数组()转置,即行列互换。 8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 8.0 用函数实现以下程序: 主选单:a.考试成绩判定b.求1-100的质数c.输出乘法口诀表d.求水仙花数e.退出你的选择是:为帮助大家掌握指针、结构体和文件三部分的主要内容,建议输入并运行以下各程序,体会程序的功能和实现方法。指针1、输入两个数,并使其从大到小输出main() int *p1,*p2,*p,a,b; scanf(%d,%d,&a,&b); p1=&a; p2=&b; if(ab) p=p1; p1=p2; p2=p; printf(a=%d,b=%dn,a,b); printf(max=%d,min=%dn,*p1,*p2);2、将数从大到小输出swap(int x, int y) int temp; temp=x; x=y; y=temp;main() int a,b; scanf(%d,%d,&a,&b); if(ab) swap(a,b); printf(n%d,%dn,a,b);用指针实现:swap(int *p1, int *p2) int p; p=*p1; *p1=*p2; *p2=p;main() int a,b; int *pointer_1,*pointer_2; scanf(%d,%d,&a,&b); pointer_1=&a; pointer_2=&b; if(ab)swap(pointer_1,pointer_2); printf(n%d,%dn,a,b);3、数组元素的引用方法#include stdio.hmain() int a5,*pa,i; for(i=0;i5;i+) ai=i+1; pa=a; for(i=0;i5;i+) printf(*(pa+%d):%dn,i,*(pa+i); for(i=0;i5;i+) printf(*(a+%d):%dn,i,*(a+i); for(i=0;i5;i+) printf(pa%d:%dn,i,pai); for(i=0;i5;i+) printf(a%d:%dn,i,ai);4、指针变量的运算#include “stdio.h” void main() int a =5,8,7,6,2,7,3; int y,*p=&a1; y=(*-p)+; printf(%d ,y); printf(%d ,a0); 5、指针的当前值#include stdio.hmain() int i,*p,a7; p=a; for(i=0;i7;i+) scanf(%d,p+); printf(n); for(i=0;i7;i+,p+) printf(%d,*p);6、将数组a中的n个整数按相反顺序存放 #include stdio.hvoid inv(int x, int n) int t,i,j,m=(n-1)/2; for(i=0;i=m;i+) j=n-1-i; t=xi; xi=xj; xj=t; main() int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10); printf(The array has been reverted:n); for(i=0;i10;i+) printf(%d,ai); printf(n);指针实现:#include stdio.hvoid inv(int *x, int n) int t,*p,*i,*j,m=(n-1)/2; i=x; j=x+n-1; p=x+m; for(;i=p;i+,j-) t=*i; *i=*j; *j=t; main() int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10); printf(The array has been reverted:n); for(i=0;i10;i+) printf(%d,ai); printf(n);结构体统计候选人选票#include struct person char name20; int count;leader3=Li,0,Zhang,0,Wang,0 ; main() int i,j; char leader_name20; for(i=1;i=10;i+) scanf(%s,leader_name); for(j=0;j3;j+)if(strcmp(leader_name,)=0) leaderj.count+; for(i=0;i3;i+) printf(%5s:%dn,,leaderi.count);文件1、从键盘输入字符,逐个存到磁盘文件中,直到输入#“为止#include #include main() FILE *fp; char ch,*filename=out.txt ; if(fp=fopen(filename,w)=NULL) printf(cannot open filen);exit(0); printf(Please input string:); ch=getchar(); while(ch!=#) fputc(ch,fp); putchar(ch); ch=getchar(); fclose(fp);2、读文本文件内容,并显示#include #include main() FILE *fp; char ch,*filename=out.txt; /这个out.txt文件可以是上题运行生成的文件 if(fp=fopen(filename, r)=NULL) printf(cannot open filen); exit(0); while(ch=fgetc(fp)!=EOF) putchar(ch); fclose(fp);3、文件拷贝#include #include main() FILE *in, *out; char ch,infile10,outfile10; scanf(%s,infile); scanf(%s,outfile); if (in = fopen(infile, r)= NULL) printf(Cannot open infile.n); exit(0); if (out = fopen(outfile, w)= NULL) printf(Cannot open outfile.n); exit(0); while (ch=fgetc(in)!=EOF) fputc(ch, out); fclose(in); fclose(out);4、从键盘输入4个学生数据,把他们转存到磁盘文件stu_dat中去#include #include #define SIZE 4struct student_type char name10; int num; int age; char addr15;studSIZE;void save() FILE *fp; int i; if(fp=fopen(stu_dat,wb)=NULL) printf(cannot open filen); return; for(i=0;iSIZE;i+) if(fwrite(&studi,sizeof(struct student_type),1,fp)!=1) printf(file write errorn); fclose(fp);void display() FILE *fp; int i; if(fp=fopen(stu_dat,rb)=NULL) printf(cannot open filen); return; for(i=0;iSIZE;i+) fread(&studi,sizeof(struct student_type),1,fp); printf(%-10s %4d %4d %-15sn,, studi.num,studi.age,studi.addr); fclose(fp);main() int i; for(i=0;iSIZE;i+)scanf(%s%d%d%s,,&studi.num,&studi.age,studi.addr); save(); display();5、从键盘读入字符串存入文件,再从文件读回显示#include#include main() FILE *fp; char string81; if(fp=fopen(file.txt,w)=NULL) printf(cannt open file);exit(0); while(strlen(gets(string)0) fputs(string,fp); fputs(n,fp); fclose(fp); if(fp=fopen(file.txt,r)=NULL) printf(cannt open file);exit(0); while(fgets(string,81,fp)!=NULL) fputs(string,stdout); fclose(fp);6、对一个磁盘文件进行显示和复制两次操作#include #include main() FILE *fp1,*fp2; fp1=fopen(ch12_4.c,r);/这个文件必须已经存在 fp2=fopen(ch12_41.c,w); while(!feof(fp1) putchar(getc(fp1); rewind(fp1); while(!feof(fp1) putc(getc(fp1),fp2); fclos

温馨提示

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

评论

0/150

提交评论