![重庆邮电大学c语言上机实验期末实验报告_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/faa77db0-eaf5-4c7e-b94e-39033021e899/faa77db0-eaf5-4c7e-b94e-39033021e8991.gif)
![重庆邮电大学c语言上机实验期末实验报告_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/faa77db0-eaf5-4c7e-b94e-39033021e899/faa77db0-eaf5-4c7e-b94e-39033021e8992.gif)
![重庆邮电大学c语言上机实验期末实验报告_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/faa77db0-eaf5-4c7e-b94e-39033021e899/faa77db0-eaf5-4c7e-b94e-39033021e8993.gif)
![重庆邮电大学c语言上机实验期末实验报告_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/faa77db0-eaf5-4c7e-b94e-39033021e899/faa77db0-eaf5-4c7e-b94e-39033021e8994.gif)
![重庆邮电大学c语言上机实验期末实验报告_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/faa77db0-eaf5-4c7e-b94e-39033021e899/faa77db0-eaf5-4c7e-b94e-39033021e8995.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序实验报告姓名: 班级: 学号: 学院:自动化第一章 熟悉c语言编程环境实验目的及要求(1) 了解c语言编程环境visual c+6.0的组成。(2) 了解并掌握c语言集成开发环境visual c+6.0的使用方法(3) 了解并掌握c语言程序的基本结构,能够编写简单的程序(4) 掌握c语言程序的上机步骤实验步骤:例1-1:编写一个简单的c语言程序,在屏幕上显示:”Hello World!”。 #include<stdio.h>void main()printf("Hello World!n");实习题目1.41.写出下面程序执行结果。#include&l
2、t;stdio.h>void main()printf("我可以写c语言程序了!n");2编写c程序#include<stdio.h>void main()printf("*n");printf("*n");printf("*n"); 第二章 简单c语言程序设计实验目的及要求(1) 进一步熟悉并掌握visual c+6.0集成开发环境的使用(2) 熟练掌握c语言程序上机编写的步骤(3) 掌握算术表达式、赋值表达式的使用(4) 掌握c语言输入、输出函数的使用(5) 能够编写简单的c语言程序(6) 掌
3、握简单c语言程序的差错方法实验步骤:例2-1:已知两个变量a、b,其值分别为100和200,编程求它们的和sum。#include<stdio.h>void main()int a,b,SUM;a=100;b=200;SUM=a+b;printf("他们的和是%dn”,SUM);例2-2已知一个圆柱体的半径r为6,高h为7,编写程序求圆柱体的体积。#include<stdio.h>void main()float r,h;float s;float v;r=6.0;h=7.0;s=3.14*r*r;v=s*h;printf("圆柱体的体积为%fn&q
4、uot;,v);2.4实习题目1写程序结果#include<stdio.h>void main()int a;float b;a=4;b=9.5;printf("a=%d,b=%4.2fn",a,b);2已知直角三角形的两个直角边长分别为3、4,求此直角三角形的斜边长c及面积s。#include<stdio.h>#include<math.h>void main()int c;float s;c=sqrt(3*3+4*4);s=(3*4)/2.0;printf("斜边长为%d,面积为%.2f",c,s);第三章 选择结
5、构程序设计实验目的及要求(1) 熟练掌握visual c+集成开发环境的使用(2) 了解并掌握c语言表示逻辑量的方法(3) 熟练掌握逻辑运算符合逻辑表达式的使用(4) 熟练掌握关系运算符和关系表达式的使用(5) 掌握选择结构的编程(6) 掌握使用短点调试程序的方法实验步骤:例3-1:下面程序是输入x的值,输出分段函数y的值。#include<stdio.h>void main()int x,y;printf("Input the value of x:");scanf("%d",&x);if(x>0)y=1;if(x=0)y=0
6、;if(x<0)y=-1;printf("The value of y is %dn",y);例3-2读入两个数x、y,将大数存入x,小数存入y。#include<stdio.h>void main()int x,y,t;printf("input x,y:");scanf("%d,%d",&x,&y);if(x<y)t=x;x=y;y=t;printf("result:%dt%dn",x,y);实习题目3.42给出一个不多于3位的正整数,求出它是几位数。#include&l
7、t;stdio.h>void main()int bai,shi,ge,num,place;scanf("%d",&num);if(num>=100&&num<=999)printf("输入的是3位数!n");place=3;else if(num>=10&&num<=99)printf("输入的是2位数!n");place=2;elseprintf("输入的是1位数!n");place=1;if(place=3)bai=num/100;shi=
8、(num-bai*100)/10;ge=(num-bai*100-shi*10);printf("数位分别是%d,%d,%dn",bai,shi,ge);if(place=2)shi=num/10;ge=num-shi*10;printf("数位分别是%d,%dn",shi,ge);if(place=1)ge=num;printf("数位分别是%dn",ge);3从键盘上输入4个数,按由小到大的顺序输出。#include<stdio.h>void main()int a,b,c,d,temp;scanf("%d,
9、%d,%d,%d",&a,&b,&c,&d);if(a>b)temp=a;a=b;b=temp;if(a>c)temp=a;a=c;c=temp;if(a>d)temp=a;a=d;d=temp;if(b>c)temp=b;b=c;c=temp;if(b>d)temp=b;b=d;d=temp;if(c>d)temp=c;c=d;d=temp;printf("%d,%d,%d,%dn",a,b,c,d);第四章 循环机构程序设计实验目的及要求(1) 理解循环结构程序三要素(2) 熟练使用for、w
10、hile、dowhile语句实现循环结构程序设计(3) 掌握break、continue语句的使用(4) 掌握使用Debug调试程序的方法实验步骤:例4-1求一个数n的阶乘#include<stdio.h>void main()int n,i;long int s;printf("please input n(n>=0):");scanf("%d",&n);if(n>=0)s=1;if(n>0)i=1;while(i<=n)s*=i;i=i+1;printf("%d!=%ldn",n,s);
11、elseprintf("Invalid input!n");例4-2编程求自然数1到n的各数的平方和qs,假设n=5,。#include<stdio.h>void main()int qs=0,i;for(i=1;i<6;i+)qs+=i*i;printf("1*1+2*2+3*3+4*4+5*5=%dn",qs);实习题目4.41输入两个正整数m和n,求其最大公约数和最小公倍数。#include<stdio.h>void main()int a,b,num1,num2,temp;printf("please in
12、put two numbers:n");scanf("%d,%d",&num1,&num2);if(num1<num2)temp=num1;num1=num2;num2=temp;a=num1;b=num2;while(b!=0)temp=a%b;a=b;b=temp;printf("the hcf id:%dn",a);printf("the lcd is:%dn",num1*num2/a);2输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。#include<stdio.h&g
13、t;void main()char c;int letters=0,space=0,digit=0,other=0;printf("please input a string:n");while(c=getchar()!='n')if(c>='a'&&c<='z'|c>='A'&&c<='Z')letters+;else if(c=' ')space+;else if(c>='0'&&c
14、<='9')digit+;elseother+;printf("letters=%d,space=%d,digit=%d,other=%d",letters,space,digit,other);第五章 控制结构综合程序设计实验目的及要求(1) 熟练掌握c语言三种基本结构的综合应用(2) 掌握嵌套循环结构程序设计(3) 掌握穷举、迭代与递推等常见算法的应用(4) 熟练掌握c程序的调试方法实验步骤:例5-1输出九九乘法口诀表#include<stdio.h>void main()int i,j;for(i=1;i<=9;i+)for(j
15、=1;j<=i;j+)printf("%d*%d=%d",j,i,i*j);printf("n");例5-2编程求解百钱百鸡问题。已知公鸡值五钱,母鸡值三钱,三小鸡值一钱,现有一百钱,问可以买公鸡、母鸡、小鸡各多少?#include<stdio.h>void main()int cocks,hens,chicks;for(cocks=0;cocks<20;cocks+)for(hens=0;hens<33;hens+)for(chicks=0;chicks<99;chicks+)if(5*cocks+3*hens+ch
16、icks/3.0=100)&&(cocks+hens+chicks=100)printf("cocks=%d,hens=%d,chicks=%dn",cocks,hens,chicks);实习题目5.41编程输出如下图形。#include<stdio.h>void main()int i,j,k;for(i=0;i<=3;i+)for(j=0;j<=2-i;j+)printf(" ");for(k=0;k<=2*i;k+)printf("*");printf("n");
17、for(i=0;i<=2;i+)for(j=0;j<=i;j+)printf(" ");for(k=0;k<5-2*i;k+)printf("*");printf("n");2输出100200间的素数。#include<stdio.h>#include<math.h>void main()int num,k,i;for(num=100;num<200;num+)k=sqrt(num);for(i=2;i<=k;i+)if(num%i=0)break;if(i>k)printf
18、("%d is a prime number.n",num);第六章 模块化程序设计实验目的及要求(1) 理解模块化程序设计思想,掌握函数的定义方法(2) 掌握函数的实参与形参的对应关系,以及“值传递”的方式(3) 掌握函数正确的返回值方法(4) 掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法(5) 进一步提高c语言程序设计调试能力以及编写的能力实验步骤:例6-1已知num1=3,num2=4,求num1和num2的平方和。#include<stdio.h>void main()int func();int num1=3;int num2=4;int
19、 sum;sum=func(num1,num2);printf("%dn",sum);int func(int x,int y)int temp;temp=x*x+y*y;return temp;例6-2输出2的i次方和-3的i次方的值。#include<stdio.h>void main()int power();int i;for(i=1;i<10;i+)printf("%d %d %dn",i,power(2,i),power(-3,i);int power(int x,int n)int p;for(p=1;n>0;-n)
20、p=p*x;return(p);6.4实习题目1用函数调用计算17的平方及平方和。#include<stdio.h>#include<math.h>void header();void square(int number);void ending();int sum;void main()int index;header();for(index=1;index<=7;index+)square(index);ending();void header()sum=0;printf("This is the header for the square prog
21、ramnn");void square(int number)int numsq;numsq=number*number;sum+=numsq;printf("the square of %d is %dn",number,numsq);void ending()printf("nThe sum of the squares is %dn",sum);2写一个判断素数的函数,在主函数中输入一个整数,输出是否是素数的信息。#include<stdio.h>int prime(int n);void main()int m,flag;p
22、rintf("请输入一个正整数:n");scanf("%d",&m);flag=prime(m);if(flag)printf("%d是一个素数n",m);elseprintf("%d不是一个素数n",m);int prime(int n)int i,flag;for(i=2;i<=n/2;i+)if(n%i=0)flag=0;break;else flag=1;return flag;第七章 模块化综合程序设计实验目的及要求(1) 掌握模块化程序设计的函数递归、迭代算法思想(2) 掌握函数嵌套交叉引
23、用的传递(3) 掌握函数递归过程和调试手段(4) 进一步巩固提高c语言模块化程序设计能力实验步骤:例7-1使用递归的算法实现求一个输入整数的阶乘,并在主函数中输出。#include<stdio.h>int fun(int n)int z;if(n=0)elsez=fun(n-1)*n;return z;void main()int n;printf("Please input a number:");scanf("%d",&n);if(n<0)printf("The number is wrong,it's m
24、ust over 0n");elseprintf("The %d! is%dn",n,fun(n);例7-2利用下列公式求近似计算自然数e。e=1+1/1i+1/2i+1/3i+1/4i+1/ni此为近似度为n的自然数e计算公式。#include<stdio.h>void main()int m;double cal_e(int n);printf("请输入一个整数(e的近似度n):");scanf("%d",&m);printf("自然是e的值是:%lfn",cal_e(m);dou
25、ble cal_e(int n)double f(int i);double e=1.0;while(n)e=e+f(n-);return e;double f(int i)double x=1.0;while(i)x/=i-;return x;7.4实习题目1编写程序,用递归方法求两个数的最大公约数。#include<stdio.H>int comdiv(int x,int y)int temp;temp=x%y;if(temp=0)return y;elsereturn comdiv(y,temp);void main()int a,b,cdiv;printf("请输
26、入两个正整数:n");scanf("%d %d",&a,&b);cdiv=comdiv(a,b);printf("%d和%d的最大公约数是%dn",a,b,cdiv);2一个球从100m高度自由落下后,反弹回原来高度的一半,按此规律,到第10次落地时,行程共有多少米?然后将反弹起多高?#include<stdio.h>void main()int i,n;float l,total=100;scanf("%d",&n);for(i=1;i<=n;i+);l=f(i);total=to
27、tal+2*l;printf("最后一次反弹高度为%f米n",l);printf("总共行程为%f米n",total);float f(int n)float result;if(n=0)result=100;elseresult=f(n-1)/2;return result;第八章 一维数组程序设计实验目的及要求(1) 掌握一维数组的定义和赋值方法(2) 掌握整型数组、字符数组的定义和使用(3) 掌握与数组有关的相关算法,如排序算法等(4) 进一步巩固c语言循环结构程序的设计(5) 巩固所学的理论知识,提高c语言程序设计的能力实验步骤:8.2基础实验例
28、8-1下面程序将09的值赋给一个一维数组中的各元素。#include<stdio.h>void main()int i;int a10;for(i=0;i<=9;i+)ai=i;for(i=0;i<=9;i+)printf("%dn",ai);例8-2一个简单的字符数组,对该数组进行初始化并输出。#include<stdio.h>void main()char chararray100;scanf("%s",chararray);printf("%s",chararray);8.4实习题目1从键盘输
29、入任何一个数据,判断是否在数组a10=1,2,3,4,5,6,7,8,9,10中。如果在给出该数在数组中的位置,否则“数组中不存在”的信息。#include<stdio.h>void main()int a10=1,2,3,4,5,6,7,8,9,10;int i,x;scanf("%d",&x);for(i=0;i<10;i+)if(ai=x)break;if(i<10)printf("数组有%d,该数组元素是a%dn",x,i);elseprintf("数组中不存在%dn",x);2要求用函数完成查
30、找n个数的最大值和最小值。#include<stdio.h>float max(float a,int n);float min(float a,int n);void main()float a20,maxnum,minnum;int i,n;printf("请输入需要输入的数的数目<20n");scanf("%d",&n);printf("请输入需要输入%d个数:n",n);for(i=0;i<n;i+)scanf("%f",&ai);maxnum=max(a,n);mi
31、nnum=min(a,n);printf("输入的最大数是%fn",maxnum);printf("输入的最小数是%fn",minnum);float max(float a,int n)int i;float max;max=a0;for(i=0;i<n;i+)if(ai>max)max=ai;return max;float min(float a,int n)int i;float min;min=a0;for(i=0;i<n;i+)if(ai<min)min=ai;return min;第九章 二维数组程序设计实验目的及要
32、求(1) 掌握二维数组的定义、赋值和输入/输出的方法(2) 掌握与数组有关的相关算法,如排序算法等(3) 进一步巩固c语言多重循环结构程序的设计(4) 培养c语言中模块化编程和数组结合的能力实验步骤:9.2基础实验例9-1编程为一个3x4矩阵的元素赋初值,并输出矩阵各元素的值。#include<stdio.h>void main()int i,j;int a34;for(i=0;i<3;i+)for(j=0;j<4;j+)scanf("%d",&aij);for(i=0;i<3;i+)for(j=0;j<4;j+)printf(&
33、quot;%2d",aij);printf("n");2 下列程序实现了输入两个整数m和n,建立一个6行6列的m行n列的二维数组a;再输入a数组中各元素的值,分别求出各行元素之和并输出。#include <stdio.h>void main()int i,j,m,n,sum;int a66;printf("Please input m,n:n");scanf("%d%d",&m,&n);printf("Please input array:n");for(i=0;i<m;
34、i+)for(j=0;j<n;j+)scanf("%d",&aij);for(i=0;i<m;i+)sum=0;for(j=0;j<m;j+)sum=sum+aij;printf("The Sum of row %d is %dn",i,sum);9.4实习题目 1.下面程序使给定的一个二维数组(3×3)转置,即行列互换。#include "stdio.h"#define N 3int arrayNN;convert(int arrayN,int t)int i,j;for(i=0;i<N;i
35、+)for(j=i+1;j<N;j+)t=arrayij;arrayij=arrayji;arrayji=t;void main()int i,j;for(i=0;i<N;i+)for(j=0;j<N;j+)scanf("%d",&arrayij);for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%d ",arrayij);printf("n");convert(array,N);for(i=0;i<N;i+)for(j=0;j<N;j+)printf(&q
36、uot;%d ",arrayij);printf("n"); 2编程实现从键盘上面为一个5×5整型数组赋值,找出其中的最小值及下标并显示出来。#include "stdio.h"#define N 5void main()int i,j,min,aNN;int find(int aN,int n);printf("请输入5*5数组元素n");for(i=0;i<N;i+)for(j=0;j<N;j+)scanf("%d",&aij);printf("输入的数组是:n
37、");for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%5d",aij);printf("n");min=find(a,N);printf("最小数是%dn",min);int find(int aNN,int n)int i,j,min,row=0,col=0;min=a00;for(i=0;i<N;i+)for(j=0;j<N;j+)if(min>aij) min=aij; row=i; col=j;printf("最小数在%d行%d列n",r
38、ow+1,col+1);return min;第十章 字符串相关程序设计实验目的及要求(1) 理解字符串与字符数组的区别(2) 掌握字符串的定义与使用方法(3) 熟练掌握字符串处理函数的使用(4) 巩固前面章节所学知识点,培养综合程序设计能力实验步骤:10.2基础实验1 从键盘输入两个长度不等的字符串(均少于20字符),判断并输出长度最大的字符串。要求不能使用字符串操作函数。#include "stdio.h"void main()char str120,str220;int i,j;printf("Please input str1:n");scanf
39、("%s",str1);printf("Please input str2:n");scanf("%s",str2);for(i=0;str1i!='0'i+);for(j=0;str2j!='0'j+);if(i>j)printf("%s is longer!n",str1);elseprintf("%s is longer!n",str2);2 从键盘输入一个字符串(少于20字符),统计该字符串中某个字符出现的次数,例如输入“helloworld”,统计
40、字符“o”的个数。#include "stdio.h"void main()int i,num;char str20,ch;printf("Please input a stringn");scanf("%s",str);getchar();printf("Please input a charn");scanf("%c",&ch);for(i=0,num=0;stri!='0'i+)if(stri=ch)num+;printf("The mun of char
41、 %c is %dn",ch,num);10.4实习题目1 输入一个字符串,判断该字符串是否是一个回文数。#include "stdio.h"#include "string.h"void main()char str20;int i,j;printf("Please input a string:n");scanf("%s",str);i=0;j=strlen(str)-1;for(;i<j;i+,j-)if(stri!=strj)break;if(i>=j)printf("%s
42、is a huiwen numbern",str);elseprintf("%s isn't a huiwen numbern",str);2 已知有两个字符串“hello”、“world”,编程实现将第二个字符串连接到第一个字符串之后,要求不能使用strlen,strcpy,strcat等字符串处理函数。#include "stdio.h"void main()char str120="hello",str210="world"int i,j;for(i=0;str1i!='0'
43、i+);for(j=0;str2j!='0'j+)str1i+=str2j;str1i='0'printf("the result is %sn",str1);第十一章 指针程序设计实验目的及要求(1) 理解指针的概念,会定义和使用指针变量(2) 掌握涉及指针的c语言程序设计(3) 学会使用数组指针和指向数组的指针变量(4) 学会使用字符串指针和指向字符串的指针变量(5) 结合数组、函数调用进行复杂的编程(6) 巩固所学的理论知识,培养锻炼进行复杂c语言程序设计的能力实验步骤:11.2基础实验例11-1从键盘输入两个整数,按由小到大的顺序输出
44、,要求用指针实现。#include<stdio.h>void main()int *p1,*p2;int p;int a,b;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a>b)p=*p1;*p1=*p2;*p2=p;printf("a=%d,b=%d",a,b);例11-2下面程序利用函数调用的方法再次实现上例程序的功能。#include<stdio.h>void main()void swap(int *p_1,int *p_2);int a,b;int *p1,*p2;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a>b)swap(p1,p2);printf("%d,%dn",a,b);void swap(int *p_1,int *p_2)int p;p=*p_1;*p_1=*p_2;*p_2=p;11.4实习题目1从键盘上面输入三个整数,按由小到大的顺序输出。#include<stdio.h>void main()void swa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年天津体育职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年哈尔滨传媒职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025至2030年中国织带塑胶单色拉头数据监测研究报告
- 传染病预测模型构建-第1篇-深度研究
- 健康险代理行业监管趋势-深度研究
- 二零二五年度影视基地租赁合同终止公告
- 2025年度都市农业示范园区土地承包合同
- 二零二五年度能源管理工程师聘用合同简易流程
- 二零二五年度工厂空调系统运行优化保养合同
- 二零二五年度绿色金融贷款担保合同规范文本
- 2025-2030年中国硫酸钾行业深度调研及投资战略研究报告
- 乡镇卫生院2025年工作计划
- 2024年山东省泰安市初中学业水平生物试题含答案
- 四川省宜宾市中学2025届九上数学期末统考模拟试题含解析
- 微生物组与胆汁性肝硬化
- 中国移动各省公司组织架构
- 手术安全管理之手术部位标识安全
- 2022年版煤矿安全规程
- 带式输送机滚筒出厂检验规范
- 《信息检索基础知识》课件
- 具有履行合同所必须的设备和专业技术能力的承诺函-设备和专业技术能力承诺
评论
0/150
提交评论