《C语言程序开发》实验报告和参考答案.docx

上传人:啊飒飒 文档编号:13743690 上传时间:2022-01-23 格式:DOCX 页数:18 大小:16.74KB
返回 下载 相关 举报
《C语言程序开发》实验报告和参考答案.docx_第1页
第1页 / 共18页
《C语言程序开发》实验报告和参考答案.docx_第2页
第2页 / 共18页
《C语言程序开发》实验报告和参考答案.docx_第3页
第3页 / 共18页
《C语言程序开发》实验报告和参考答案.docx_第4页
第4页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《C语言程序开发》实验报告和参考答案.docx》由会员分享,可在线阅读,更多相关《《C语言程序开发》实验报告和参考答案.docx(18页珍藏版)》请在三一文库上搜索。

1、C语言程序开发实验报告和参考答案 1 实 实 验 报 告 课程名称:C 语言程序开发 学生姓名: 学生学号: 专业班级: 指导教师: 实验日期: 2 目 录 实验 一 循环结构程序设计 (一)求 1+2+3+.+100, =1100nn (二)输出 100200 之间的不能被 3 整除的数。 实验 二 数组及其应用 (一)有一个 34 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 (二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 实验 三 函数及其应用 (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个

2、学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学生多大。 (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。 实验 四 指针及其应用 (一)将若干字符串按字母顺序(由小到大)输出。 (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。 3 实验 一 循环结构程序设计 实验题目: (一)求 1+2+3+.+100, =1100nn (二)输出 100200 之

3、间的不能被 3 整除的数。 实验目的 1.掌握循环语句的执行过程及用法 2.初步掌握循环程序设计的基本技巧 3.掌握用 while 语句,do-while 语句和 for 语句实现循环的方法 4.掌握多重循环的使用 (一)实验步骤 1.题目分析 2. 源程序代码 3.运行结果 (二)实验步骤: 1.题目分析 源程序代码 3.运行结果 4 实验 二 数组及其应用 实验题目: (一)有一个 34 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 (二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 实验目的 1.掌握一维数组的定义及其元素的引用方法 2.掌握利用

4、一维数组实现一些常用算法的基本技巧 3.掌握二维数组的定义及其应用 4.掌握字符数组和字符串函数的使用 5.掌握有关二维数组的基本编程技巧 (一)实验步骤: 1.题目分析 2. 源程序代码: 3.运行结果 (二)实验步骤: 1.题目分析 2.源程序代码 3.运行结果 5 实验 三 函数及其应用 实验题目: (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学

5、生多大。 (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。 实验目的 1.掌握函数的定义及其调用方法 2.掌握函数实参与形参的对应关系,了解值传递与地址传递的概念 3.掌握函数的嵌套调用和递归调用的方法 4.初步学会使用函数进行程序设计的基本方法 (一)实验步骤: 1.题目分析 2. 源程序代码: 3.运行结果 (二)实验步骤 1. 题目分析 2. 源程序代码 3.运行结果 6 实验 四 指针及其应用 实验题目: (一)将若干字符串按字母顺序(由小到大)输出。 (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指

6、针函数来实现。 实验目的 1. 掌握指针的概念,会定义和使用指针变量 2. 掌握数组的指针及其基本用法 3. 掌握指针变量函数作参数时,参数的传递过程及其用法 4. 掌握字符串的指针及其用法 5. 掌握函数的指针及其用法 (一)实验步骤: 1.题目分析 2. 源程序代码: 3.运行结果 (二)实验步骤: 1.题目分析 3. 源程序代码: 3.运行结果 7 实 实 验 报 告 课程名称:C 语言程序开发 学生姓名: 学生学号: 专业班级: 指导教师: 实验日期: 8 目 录 实验 一 循环结构程序设计 (一)求 1+2+3+.+100, =1100nn (二)输出 100200 之间的不能被 3

7、 整除的数。 实验 二 数组及其应用 (一)有一个 34 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 (二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 实验 三 函数及其应用 (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学生多大。 (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。

8、实验 四 指针及其应用 (一)将若干字符串按字母顺序(由小到大)输出。 (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。 9 实验 一 循环结构程序设计 实验题目:(一)求 1+2+3+.+100, =1100nn (二)输出 100200 之间的不能被 3 整除的数。 实验目的 1.掌握循环语句的执行过程及用法 2.初步掌握循环程序设计的基本技巧 3.掌握用 while 语句,do-while 语句和 for 语句实现循环的方法。 4.掌握多重循环的使用 (一)实验步骤 1.题目分析 10 3. 源程序代码 #incl

9、udestdio.h int main() int i=1,sum=0; /定义变量 i 的初值为 1,sum 的初值为 0 while(i=100) /当 i100,条件表达式 i=100 的值为假,不执行循环体 /循环体开始 sum=sum+i; /第 1 次累加后,sum 的值为 1 i+; /加完后,i 的值加 1,为下次累加做准备 /循环体结束 printf(sum=%dn,sum); /输出 1+2+3+100 的累加和 return 0; 3.运行结果 11 (二)实验步骤: 1.题目分析 2. 源程序代码 #include stdio.h int main() int n; f

10、or (n=100;n=200;n+) if (n%3=0) continue; printf(%d ,n); printf(n); return 0; 3.运行结果 12 实验 二 数组及其应用 实验题目: (一)有一个 34 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 (二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 实验目的 1.掌握一维数组的定义及其元素的引用方法 2.掌握利用一维数组实现一些常用算法的基本技巧 3.掌握二维数组的定义及其应用 4.掌握字符数组和字符串函数的使用 5.掌握有关二维数组的基本编程技巧 (一)实验步骤: 1.题目

11、分析 先思考一下在打擂台时怎样确定最后的优胜者。先找出任一人站在台上,第 2 人上去与之比武,胜者留在台上。再上去第 3 人,与台上的人(即刚才的得胜者)比武,胜者留台上,败者下台。以后每一个人都是与当时留在台上的人比武。直到所有人都上台比过为止,最后留在台上的就是冠军。 13 3. 源程序代码: #include stdio.h int main() int i,j,row=0,colum=0,max; int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; /定义数组并赋初值 max=a00; /先认为 a00最大 for(i=0;i=2;i+) for(j=0;j=3;

12、j+) if(aijmax)/如果某元素大于 max,就取代 max 的原值 max=aij; row=i; /记下此元素的行号 colum=j; /记下此元素的列号 printf(max=%dnrow=%dncolum=%dn,max,row,colum); return 0; 14 3.运行结果 (二)实验步骤: 1.题目分析 string:用于存放字符串。 i:计数器,用于遍历字符串中的每个字符。 word:用于判断是否开始了一个新单词的标志。若 word=0 表示未出现新单词,如出现了新单词,就把 word 置成 1。 num:用于统计单词数。 15 2.源程序代码 #include

13、stdio.h int main() char string81; int i,num=0,word=0; char c; gets(string); /输入一个字符串给字符数组 string for(i=0;(c=stringi)!=0;i+) /只要字符不是0就循环 if(c= ) word=0; /若是空格字符,使 word 置 0 else if(word=0) /如果不是空格字符且 word 原值为 0 word=1; /使 word 置 1 num+; /num 累加 1,表示增加一个单词 printf(There are %d words in this line.n,num);

14、 /输出单词数 return 0; 16 3.运行结果 17 实验 三 函数及其应用 实验题目: (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学生多大。 (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。 实验目的 1.掌握函数的定义及其调用方法 2.掌握函数实参与形参的对应关系,了解值传递与地址传递的概念 3.掌握函数的嵌套调

15、用和递归调用的方法 4.初步学会使用函数进行程序设计的基本方法 (一)实验步骤: 1.题目分析 18 3. 源程序代码: #include stdio.h int main() int age(int n); /对 age 函数的声明 printf(NO.5,age:%dn,age(5); /输出第 5 个学生的年龄 return 0; int age(int n) /定义递归函数 int c; /c 用作存放函数的返回值的变量 if(n=1) /如果 n 等于 1 c=10; /年龄为 10 else /如果 n 不等于 1 c=age(n-1)+2; /年龄是前一个学生的年龄加2(如第4

16、个学生年龄是第 3 个学生年龄加 2) return(c); /返回年龄 3.运行结果 19 (二)实验步骤 3. 题目分析 4. 源程序代码 #include stdio.h int main() void sort(int array,int n); int a10,i; printf(enter array:n); for(i=0;i10;i+) scanf(%d,ai); sort(a,10); /调用 sort 函数,a 为数组名,大小为 10 printf(The sorted array:n); for(i=0;i10;i+) printf(%d ,ai); printf(n);

17、 return 0; 20 void sort(int array,int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(arrayjarrayk) k=j; t=arrayk; arrayk=arrayi; arrayi=t; 3.运行结果 21 实验 四 指针及其应用 实验题目:(一)将若干字符串按字母顺序(由小到大)输出。 (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。 实验目的 6. 掌握指针的概念,会定义和使用指针变量 7. 掌握数组的指针

18、及其基本用法。 8. 掌握指针变量函数作参数时,参数的传递过程及其用法 9. 掌握字符串的指针及其用法 10. 掌握函数的指针及其用法 (一)实验步骤: 1.题目分析 22 4. 源程序代码: #include stdio.h #include string.h int main() void sort(char *name,int n); /函数声明 void print(char *name,int n); /函数声明 char *name=Follow me,BASIC, Great Wall,FORTRAN,Computer design; /定义指针数组,它的元素分别指向 5 个字符

19、串 int n=5; sort(name,n); /调用 sort 函数,对字符串排序 print(name,n); /调用 print 函数,输出字符串 return 0; void sort(char *name,int n) /定义 sort 函数 char *temp; int i,j,k; for(i=0;in-1;i+) /用选择法排序 k=i; for(j=i+1;jn;j+) if(strcmp(namek,namej)0) k=j; 23 if(k!=i) temp=namei; namei=namek; namek=temp; void print(char *name,i

20、nt n) /定义 print 函数 int i; for(i=0;in;i+) printf(%sn,namei); /按指针数组元素的顺序输出它们所指向的字符串 3.运行结果 24 (二)实验步骤: 1.题目分析 pointer score 数组 pointer+1 60 70 80 90 56 89 67 88 34 78 90 66 5. 源程序代码: #include stdio.h int main() float score4=60,70,80,90,56,89,67,88,34,78,90,66; /定义数组,存放成绩 float *search(float (*pointer

21、)4,int n); /函数声明 float *p; int i,k; printf(enter the number of student:); scanf(%d,k); /输入要找的学生的序号 printf(The scores of No.%d are:n,k); p=search(score,k); /调用 search 函数,返回 scorek0的地址 25 for(i=0;i4;i+) printf(%5.2ft,*(p+i); /输出scorek0scorek3的值 printf(n); return 0; float *search(float (*pointer)4,int n) /形参 pointer 是指向一维数组的指针变量 float *pt; pt=*(pointer+n); /pt 的值是scorek0 return(pt); 3.运行结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1