您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > c语言实验报告模板完成版
《《高高级级语语言言程程序序设设计计》》学学生生实实验验报报告告1专专业业::计计算算机机科科学学与与技技术术学学号号::姓姓名名::2实验一C程序的运行环境和使用方法1.实验目的1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。2)了解在该系统上如何编辑、编译、连接和运行一个C程序。3)通过运行简单的C程序,初步了解C程序的特点。2.实验程序清单及运行结果课后习题1.5编写一个C程序,输出以下信息:**************************VeryGood!**************************Source#includestdio.hintmain(){printf(**************************\n);printf(VeryGood!\n);printf(**************************\n);}课后习题1.6编写一个程序,输入a、b、c三个值,输出其中最大值。Source#includestdio.hintmain(){intmax(intx,inty);inta,b,c,d;scanf(%d%d%d,&a,&b,&c);d=max(a,b);d=max(d,c);printf(%d\n,d);return0;3}intmax(intx,inty){intz;if(xy)z=x;elsez=y;returnz;}实验二顺序结构程序设计1.实验目的1)掌握C语言的数据类型,熟悉如何定义整型、字符型和实型的变量,以及对它们赋值的方法。2)掌握不同类型的数据之间赋值的规律。3)学会用C的有关算术运算符,以及包含这些运算符的表达式。4)掌握C语言中使用最多的一种语句——赋值语句的使用方法。5)掌握scanf()函数、printf()函数的调用方法,掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。6)掌握字符输入输出函数getchar()、putchar()函数的调用方法。2.运行程序及填空(一)输入并运行下面的程序,写出运行结果。#includestdio.hintmain(){charc1,c2;c1=97;c2=98;printf(“%c,%c\n”,c1,c2);printf(“%d,%d\n”,c1,c2);return0;}4运行结果:a,b97,98【思考题】若将第四行改为:intc1,c2;再使之运行,输出结果一样吗?为什么?答:一样,因为第六行的printf输出的是%c即字符,任然将c1,c2按照ASCII码字以符形式输出。(二)程序填空:输入一个十进制整数,输出与之相应的八进制数与十六进制数。例如:输入31,输出37(八进制)和1F(十六进制)。源程序如下:#includestdio.hintmain(){longn;printf(输入一个十进制整数:);scanf(%d,&n);printf(对应的八进制整数是%o\n,n);printf(对应的十六进制整数是%X\n,n);return0;}运行程序,输入1234567,显示结果如何?答:输入一个十进制整数:1234567对应的八进制整数是4553207对应的十六进制整数是12D6873.实验程序清单及运行结果课后习题3.7要将China译成密码。Source#includestdio.hintmain(){5charc1='C',c2='h',c3='i',c4='n',c5='a';printf(%c%c%c%c%c\n,c1+4,c2+4,c3+4,c4+4,c5+4);}课后习题4.8求圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。Source#includestdio.h#definePI3.14#includemath.hintmain(){floatr,h,C1,Sa,Sb,Va,Vb;scanf(%f%f,&r,&h);C1=2*PI*r;Sa=PI*r*r;Sb=4*PI*r*r;Va=4.0/3*r*r*r*PI;Vb=PI*r*r*h;printf(C1=%.2f\nSa=%.2f\nSb=%.2f\nVa=%.2f%\nVb=%.2f\n,C1,Sa,Sb,Va,Vb);}课后习题4.9输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9。取位2小数。Source#includestdio.hintmain(){floatF,c;scanf(%f,&F);printf(c=%.2f\n,c=5*(F-32)/9;);return0;}6实验三选择结构程序设计1.实验目的1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。2)学会正确使用关系运算符、逻辑运算符和相关表达式。3)熟练掌握if语句和switch语句。4)结合程序掌握一些简单的的算法。5)学习调试程序。2.程序填空请将下列源程序填写完整。程序说明:输入实数x,计算并输出下列分段函数f(x)的值,结果保留2位小数。211()1111xxxfxexxx#includestdio.h#includemath.hintmain(){doublex,y;printf(Inputx:);scanf(“%lf”,&x);if(x-1)y=x+1;elseif(x1)y=exp(x);elsey=sqrt(x*x+1);printf(f(%.2f)=%.2f\n,x,y);return0;}运行程序,输入-2,显示结果是:-1输入0.5,显示结果是:1.657输入3,显示结果是:3.163.实验程序清单及运行结果课后习题5.5有一个函数/x(x1)y={2x-1(1=x10)\3x-11(x=10)写一段程序,输入x,输出ySource#includestdio.hintmain(){intx,y;scanf(%d,&x);if(x10){if(x1)y=x;elsey=2*x-1;}elsey=3*x-11;printf(%d\n,y);return0;}课后习题5.6给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。Source#includestdio.hintmain(){intt;scanf(%d,&t);if(90=t&&t=100)printf(A\n);elseif(80=t&&t=89)printf(B\n);elseif(70=t&&t=79)printf(C\n);8elseif(60=t&&t=69)printf(D\n);elseif(0=t&&t=59)printf(E\n);}课后习题5.7给出一个不多于5位的非负整数,要求1、求出它是几位数2、分别输出每一位数字3、按逆序输出各位数字,例如原数为321,应输出123Source#includestdio.hintmain(){intn,g,s,b,q,w;scanf(%d,&n);g=n%10;s=n/10%10;b=n/100%10;q=n/1000%10;w=n/10000;if((w==0)&&(q==0)&&(b==0)&&(s==0)){printf(1\n%d\n%d,g,g);}elseif((w==0)&&(q==0)&&(b==0)){printf(2\n%d%d\n%d%d,s,g,g,s);}elseif((w==0)&&(q==0)){printf(3\n%d%d%d\n%d%d%d,b,s,g,g,s,b);}elseif(w==0){printf(4\n%d%d%d%d\n%d%d%d%d,q,b,s,g,g,s,b,q);}elseprintf(5\n%d%d%d%d%d\n%d%d%d%d%d,w,q,b,s,g,g,s,b,q,w);}课后习题5.8企业发放的奖金根据利润提成。Source#includestdio.hintmain(){intI,P;scanf(%d,&I);if(I=100000)P=I*10/100;9elseif(I=200000)P=10000+(I-100000)*75/1000;elseif(I=400000)P=17500+(I-200000)*5/100;elseif(I=600000)P=27500+(I-400000)*3/100;elseif(I=1000000)P=33500+(I-600000)*15/1000;elseP=39500+(I-1000000)*1/100;printf(%d\n,P);return0;}实验四循环结构程序设计1.实验目的1)熟悉掌握用while语句、do-while语句和for语句实现循环的方法。2)掌握循环次数不确定的解题技巧,掌握多项式求和问题的解题技巧。3)掌握多重循环的编程技巧。4)掌握在程序设计中用穷举法、迭代法、递推法求解问题的编程技巧。5)进一步学习调试程序。2.程序填空输出菲波那契数列的前20项,要求每行输出10项。#includestdio.hintmain(){inti,x1,x2,x;x1=x2=1;printf(%6d%6d,x1,x2);/*输出前2项*/for(i=3;i=20;i++){x=x1+x2;printf(%6d,x);if(i%10==0)printf(\n);/*每行输出10项*/x1=x2;x2=x;10}return0;}3.实验程序清单及运行结果课后习题6.1输入两个正整数m和n,求其最大公约数和最小公倍数。Source#includestdio.hintmain(){intx,y,m,n,t;scanf(%d%d,&x,&y);m=x;n=y;t=m%n;while(t!=0){m=n;n=t;t=m%n;}printf(%d%d\n,n,x*y/n);}课后习题6.2输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。Source#includestdio.h11intmain(){charc;intw=0,x=0,y=0,z=0;while((c=getchar())!='\n'){if(c='a'&&c='z'||c='A'&&c='Z')w++;elseif(c=='')x++;elseif(c='0'&&c='9')y++;elsez++;}printf(%d%d%d%d\n,w,y,x,z);}课后习题6.3Sn=2+22+222+2222+22222+22...2222(最后一项n个2)Source#includestdio.hintmain(){ints,t,i,n,a;a=2;s=0;t=0;scanf(%d,&n);for(i=1;i=n;i++){t=t+a;s=s+t;a=a*10;}printf(%d\n,s);}课后习题6.1012猴子吃桃问题。求第一天共摘多少桃子。Source#includestdio.hintmain(){ints=1,N,i;scanf(%d,&N);for(i=1;iN;i++){s=(s+1)*2;}printf(%d\n,s);}实验五数组1.实验目的1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。2)掌握字符数组和字符串函数的使用。3)掌握与数组有关的算法(特别是排序算法)。2.程序填空(一)程序填空:输入一个整数n(1≤n≤10),再输入n个整数,将它们按升序排列后输出。选择排序基本思想:(1)由于n最大是10,需要定义一个长度为10的整型数组a;(2)整个排序只需要确定前n-1个元素(a[0]~a[n-2]),最后一个元素a[n-1]无需另外处理;13(3)在确定a[i](i=0,1,…,n-2)时,先将a[i]本身看成最小,即令k=i,并将a[k]与后面的元素a[j](j=i+1,i+2,…,n-1)一一比较,如果a[j
本文标题:c语言实验报告模板完成版
链接地址:https://www.777doc.com/doc-3675827 .html