《C语言程序设计》实验指导书答案_第1页
《C语言程序设计》实验指导书答案_第2页
《C语言程序设计》实验指导书答案_第3页
《C语言程序设计》实验指导书答案_第4页
《C语言程序设计》实验指导书答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

《C语言程序设计》实验指导书答案《C语言程序设计》实验指导书答案《C语言程序设计》实验指导书答案《C语言程序设计》实验指导书答案编制仅供参考审核批准生效日期地址:电话:传真:邮编:实验一(第1章实验)实验目的:掌握运行C语言程序的全过程。熟悉编译环境VisualC++或者DevC++或者Turbo/。初步熟悉C语言程序的语法规定。了解简单函数的使用方法。实验内容:编程且上机运行:求3个整数的和。编程且上机运行:求2个数的和、差、积和商。编程且上机运行:输入3个数,求最大值。编程且上机运行:输入圆的半径,求圆的面积和周长。在屏幕上输出:“helloworld!”6. 输入并编辑本章中给出的C程序例子,在自己用的环境中形成一个C语言源程序文件;对这个源程序进行加工,得到对应的可执行程序,看一看它的效果。实验结果:1.#include<>#include<>main(){inti,j,k;printf("inputi,j,k:");#include<>#include<>main(){inti,j;printf("inputi,j(not0):");#include<>#include<>main(){inti,j,k;printf("inputi,j,k:");#include<>#include<>#definepimain(){floatr;printf("inputr:");scanf("%f",&r);#include<>#include<>#definepimain(){printf("helloworld!");system("Pause");}6.略实验二(第3章实验一)实验目的:理解C语言的类型系统。实验内容:写程序测试数据-2在类型char,int,unsignedint,longint,unsignedlongint中存储情况。实验过程:实验结果:参见各种类型的存储实现描述。#include<>#include<>#include<>main(){charc='-2';n");

else

printf("Thecharissignedchar.\n");printf("k=%d,%x",k,k);

system("pause");

return0;

}实验结果:和DevC++中char是有符号的实验三(第3章实验五)实验目的:自增和自减运算符。实验内容:写程序测试++、--运算符。实验过程:main()

{ inti=3;

printf("i=%d\n",i++);

printf("i=%d\n",i);

printf("i=%d\n",++i);

printf("i=%d\n",i);

}实验结果:i=3

i=4

i=5

i=5实验三(第3章实验六)实验目的:理解输入输出函数。1.掌握输入输出函数的使用方法。2.掌握格式字符的使用方法。3.掌握不同数制间使用格式字符转换数据的方法。实验内容:用getchar、putchar、printf、scanf函数实现各种数据的输入和输出。实验过程:实验结果:例如:见第三版第五章作业2.见第三版教材108页3.见第三版第五章作业4.见第三版第五章作业5.见第三版第五章作业6.见第三版第五章作业实验五(第5章实验一)实验目的:掌握循环的概念,学习用循环的思想来思考实际问题。掌握单循环的使用方法。实验内容:1.计算,输出其结果。2.使用循环结构输出下列图形。3.计算下列公式的和,要求最后一项小于10-5。。提示:通项公式为:。4.输入30个字符,分别统计其中数字、字母及字符的个数。5.求出Fibonacci(斐波那契)数列的前20项。

Fibonacci(斐波那契)数列的规律是:前2项为0和1,其余各项为该项前2项之和,即0,1,1,2,3,5,8,13……。实验过程:实验结果:1.#include<>#include<>main(){ints=0;.+100=%d\n",s);system("Pause");}2.#include<>#include<>main(){inti,j,k;for(i=0;i<=9;i++){for(j=0;j<=9-i;j++)printf("");#include<>#include<>#include<>main(){inti=0;floatsum=,t;intf=1;t=(i*i+1);while(t>=pow(10,-5)){sum=sum+f*t;f=-f;#include<>#include<>main(){intnum=0;intalph=0;intch=0;inti;charc;for(i=1;i<=10;i++){c=getchar();if(c>='0'&&c<='9')num++;elseif(c>='a'&&c<='z'||c>='A'&&c<='Z')alph++;elsech++;}printf("numberhas%d,alphhas%d,charhas%d",num,alph,ch);system("Pause");}5.#include<>#include<>main(){longfib[20]={0,1};inti;for(i=2;i<20;i++){fib[i]=fib[i-1]+fib[i-2];}for(i=0;i<20;i++){printf("F%d==%d\n",i,fib[i]);}system("Pause");}实验五(第5章实验二)实验目的:1.进一步学习循环的使用方法,用循环解决复杂问题。2.掌握多重循环的使用方法及其他。实验内容:1.分别使用双循环和单循环结构计算,并输出其结果。2.编制程序,输出如下所示的九九乘法表。3.输出下列所示菱形字符图形。4.古代数学家在编写《算经》时,提出了一个不定方程问题,即著名的“百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何5.求s=1+(1+2)+(1+2+3)+……,并输出其结果。实验过程:实验结果:1.参见第三版第6章作业2.#include<>#include<>main(){inti,j,k;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d",j,i,i*j);printf("\n");}system("Pause");}3.#include<>#include<>main(){inti,j,k;for(i=0;i<=9;i++){for(j=0;j<=8-i;j++)printf("");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=9;i++){for(j=0;j<=i;j++)printf("");for(k=0;k<=16-2*i;k++)printf("*");printf("\n");}system("Pause");}4.#include<>#include<>main(){inti,j,k;for(i=0;i<=14;i+=4){ j=(100-7*i)/4; k=100-i-j; printf("%d,%d,%d\n",i,j,k);}system("Pause");}输出结果:0,25,754,18,788,11,8112,4,845.#include<>#include<>main(){inti,j,t,s=0;for(i=1;i<=5;i++){for(t=1;t<=i;t++)s=s+t;}printf("s=%d",s);system("Pause");}实验六(第6章实验一)实验目的:1.掌握数组的定义方法。2.掌握一维数组的使用方法。实验内容:1.用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行5个数。2.求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。3.使用数组,求出下列数列的前20项。1,1,2,4,7,13,……4.将一个一维数组反序放置。例如:a=(67,89,76,98,66),反序放置后,a=(66,98,76,89,67)有10个学生一门课程成绩,使用选择排序法将成绩从高向低排序。实验过程:实验结果:1.求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。#include<>#include<>#definen10....+=%d\n",sum);system("Pause");}....+=%d\n",sum);system("Pause");}4.#include<>#include<>#definen6main(){inti,temp;inta[n]={0,1,2,3,4,5};for(i=0;i<=(n-1)/2;i++){temp=a[i];a[i]=a[n-1-i];a[n-1-i]=temp;}for(i=0;i<n;i++)printf("%d",a[i]);system("Pause");}5.用函数过程计算——————M!(N-M)!2.裴波那契数列的前两项是1、1,以后的每一项都是其相邻前两项之和。编写函数过程求:⑴数列前n项和FS;⑵前n项的平均值V。并就n=20计算并输出FS与V。3.编写一个用梯形法求一元函数f(x)在〔a,b〕上积分近似值的函数过程。并就f(x)=sin(2x)+x,当[a,b]=[0,]、小区间数n=10和n=20时,分别计算并输出积分的近似值s1和s2,保留3位小数。(未实现)4.编写一个函数程序,其功能是判定一个数是否为素数,若是素数则函数返回值为1,若不是素数则函数返回值为0。用此函数判定找出100以内最大的3个素数。5.编写函数程序,用牛顿迭代法求一元方程x5+2x3-x2+x+1=0在0附近的近似值。6.编写函数程序,计算正整数n1~n2之间所有素数之和。7.用递归方法求Fibonacci数列前20项及其这20项的和。实验过程:实验结果:1.returnavg;}main(){intn;printf("inputn:");scanf("%d",&n);printf("前%d项和=%d\n",n,Fib(n));printf("前%d项和平均值=%f\n",n,Avg(n));system("Pause");}前20项和为17710,平均值为3.4.#include<>#include<>#defineodd(a)(a%2==0)main(){inta,b,c;printf("inputainteger:");scanf("%d",&a);while(odd(a)){scanf("%d",&a);}system("Pause");}2.#include<>#include<>#defineMAX(a,b)((a)>(b)(a):(b))main(){inta,b,c;printf("inputa,b,c:");scanf("%d,%d,%d",&a,&b,&c);printf("%d,%d,%d,%d\n",MAX(a,b),MAX(MAX(a,b),c),MAX(a-2,b+2),MAX(MAX(a-2,b),c+2));system("Pause");}3.见作业4.见作业5.见作业实验八(第8章实验一)实验目的:通过实验进一步掌握指针的概念,会定义和使用指针变量。掌握指向变量的指针变量的使用方法。掌握指向一维数组的指针变量来处理数组元素。掌握指向字符串的指针变量的使用方法。掌握指针作为函数参数的用法。实验内容:1.用指针变量按从小到大的顺序输出三个整数。2.输入n(不大于20)个单精度数存入一维数组,用指针变量处理数组元素的方式将其逆序存放后输出。n从键盘输入。3.利用指针完成两个变量值互换。4.编写一个程序,用12个月份的英文名称初始化一个字符指针数组,当键盘输入整数为1到12时,显示相应的月份名,键入其他整数时显示错误信息。5.用选择法对10个整数排序(降序)。6.编一个程序,从键盘上输入一串符号(以回车键为结束),将其以字符串形式存入一维字符数组,然后再输出该字符型数组中的字符串。7.编写一个程序计算一个字符串的长度。8.编写一个程序求一个子串在一个字符串中出现的次数,如果该字符不出现则返回0。实验过程:实验结果:1.见作业2.#include<>#include<>voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}main(){inta=46,b=-100; int*p_a,*p_b;p_a=&a;p_b=&b; printf("a=%d,b=%d\n",a,b); swap(p_a,p_b); printf("a=%d,b=%d\n",a,b);system("Pause");}4.,*(month_name+n));elseprintf("Itiswrong\n");system("Pause");}5.#include<>#include<>intmain(){inti,j,k,t,max;inta[10]={77,99,69,76,87,90,100,88,66,80};for(i=0;i<10;++i){/编写一个程序求一个子串在一个字符串中出现的次数,如果该字符不出现则返回0。#include<>#include<>#include<>intindex(char*s,char*t,inti){intj=0;while((i<strlen(s))&&(j<strlen(t))){if(s[i]==t[j]){++i;++j;/输入2行3列的矩阵元素值,存入二维数组;再按行列格式输出。#include<>#include<>#defineM2#defineN3main(){inta[M][N];inti,j;for(i=0;i<M;i++)for(j=0;j<N;j++)scanf("%d",a[i]+j);for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%d",*(a[i]+j));printf("\n");}system("Pause");}2.X”格式输出系统时间。设有若干个人员的数据,其中有学生和教师。学生的数据中包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。要求输入人员的数据,然后再输出。已知3个学生的学号、姓名、性别及年龄,要求通过直接赋值的方式将数据送给某结构体变量,然后再输出。实验过程:实验结果:1.o);printf("inputname:");scanf("%s",s[i].name);printf("inputage:");scanf("%d",&s[i].age);printf("inputcourse1:");scanf("%f",&s[i].course1);printf("inputcourse2:");scanf("%f",&s[i].course2);printf("inputcourse3:");scanf("%f",&s[i].course3);printf("inputcourse4:");scanf("%f",&s[i].course4);printf("inputcourse5:");scanf("%f",&s[i].course5);printf("inputcourse6:");scanf("%f",&s[i].course6);printf("inputcourse7:");scanf("%f",&s[i].course7);s[i].total=s[i].course1+s[i].course2+s[i].course3+s[i].course4+s[i].course5+s[i].course6+s[i].course7;s[i].avg=s[i].total/;}for(i=0;i<3;i++)printf("%d,%s,%d,%,%,%,%,%,%,%,%,%\n",s[i].no,s[i].name,s[i].age,s[i].course1,s[i].course2,s[i].course3,s[i].course4,s[i].course5,s[i].course6,s[i].course7,s[i].total,s[i].avg);system("Pause");}2.o);printf("inputname:");scanf("%s",s[i].name);printf("inputbirthday(likeyyyy-mm-dd):");scanf("%d-%d-%d",&s[i].,&s[i].,&s[i].;}for(i=0;i<5;i++)printf("no:%d,name:%s,age:%d\n",s[i].no,s[i].name,year-s[i].;system("Pause");}3.X"格式输出系统时间。#include<>#include<>#include<>structDate{intyear;intmonth;intday;inthour;intminute;intsecond;};main(){inti;time_tnow;time(&now);structDatetoday;structtm*tmpointer;tmpointer=localtime(&now);/*可以用asctime(tmpointer)来转换成字符串形式*/教材311页例5.#include<>#include<>structstudent{charno[10];charname[10];charsex;intage;};main(){inti;structstudents[3];for(i=0;i<3;i++){printf("inputno:");scanf("%s",s[i].no);printf("inputname:");scanf("%s",s[i].name);getchar();printf("inputsex:");scanf("%c",&s[i].sex);printf("inputage:");scanf("%d",&s[i].age);}for(i=0;i<3;i++)printf("%s,%s,%c,%d\n",s[i].no,s[i].name,s[i].sex,s[i].age);system("Pause");}实验十(第10章实验)实验目的:1.掌握文件的打开、关闭和读写操作。2.掌握文件的顺序访问和随机访问。实验内容:1.利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。2.编写程序将第1题建立的数据文件读入且求出每个学生的平均成绩。3.用定义结构类型的方法,编写程序建立一个具有学生学号、姓名、总分和联系电话的记录文件。4.编写程序,利用第3题建立的记录文件,从键盘上输入一个学号,可以查寻到此人其他信息。5.编写程序,将第四题建立的文件复制一份。6.用产生随机数的方法产生:100个商场的序号(1到500之间)、每个商场一年四个季度每个季度的销售金额(单位万元),将这些数据存于数据文件,然后利用该文件求出每个商场一年的销售总金额。实验过程:实验结果:1.o);printf("inputname:");scanf("%s",s[i].name);printf("inputenglish(int):");scanf("%d",&s[i].english);printf("inputmath(int):");scanf("%d",&s[i].math);printf("inputcomputer(int):");scanf("%d",&s[i]puter);}for(i=0;i<n;i++)printf("%d,%s,%d,%d,%d",s[0].no,s[0].name,s[0].english,s[0].math,s[0]puter);FILE*fp;if((fp=fopen("","wb+"))==NULL){printf("cannotopenthisfile.\n");exit(0);}for(i=0;i<n;i++)fwrite(&s[i],sizeof(structstudent),1,fp);n");exit(0);}for(i=0;i<n;i++)fread(&s[i],sizeof(structstudent),1,fp1);for(i=0;i<n;i++)printf("%d,%s,%d,%d,%d",s[0].no,s[0].name,s[0].english,s[0].math,s[0]puter);fclose(fp1);system("Pause");}2.o);printf("inputname:");scanf("%s",s[i].name);printf("inputenglish(int):");scanf("%d",&s[i].english);printf("inputmath(int):");scanf("%d",&s[i].math);printf("inputcomputer(int):");scanf("%d",&s[i]puter);}for(i=0;i<n;i++)printf("%d,%s,%d,%d,%d",s[i].no,s[i].name,s[i].english,s[i].math,s[i]puter);FILE*fp;if((fp=fopen("","wb+"))==NULL){printf("cannotopenthisfile.\n");exit(0);}for(i=0;i<n;i++)fwrite(&s[i],sizeof(structstudent),1,fp);n");exit(0);}for(i=0;i<n;i++)fread(&s[i],sizeof(structstudent),1,fp1);for(i=0;i<n;i++)printf("theavgofs[%d]=%d",i,(s[i].english+s[i].math+s[i]puter)/3);fclose(fp1);system("Pause");}3.o);printf("inputname:");scanf("%s",s[i].name);printf("inputenglish(int):");scanf("%d",&s[i].score);printf("inputmath(int):");scanf("%d",&s[i].telephone);}for(i=0;i<n;i++)printf("%d,%s,%d,%d,%d",s[i].no,s[i].name,s[i].score,s[i].telephone);FILE*fp;if((fp=fopen("","wb+"))==NULL){printf("cannotopenthisfile.\n");exit(0);}for(i=0;i<n;i++)fwrite(&s[i],sizeof(structstudent),1,fp);o);printf("inputname:");scanf("%s",s[i].name);printf("inputscore(int):");scanf("%d",&s[i].score);printf("inputtelephone(int):");scanf("%d",&s[i].telephone);}for(i=0;i<n;i++)printf("%d,%s,%d,%d,%d",s[i].no,s[i].name,s[i].score,s[i].telephone);FILE*fp;if((fp=fopen("","wb+"))==NULL){printf("cannotopenthisfile.\n");exit(0);}for(i=0;i<n;i++)fwrite(&s[i],sizeof(structstudent),1,fp);n");exit(0);}for(i=0;i<n;i++)fread(&s[i],sizeof(structstudent),1,fp1);intno;printf("inputsearchno:"

温馨提示

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

评论

0/150

提交评论