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

上传人:b****8 文档编号:9371125 上传时间:2023-02-04 格式:DOCX 页数:16 大小:92.79KB
下载 相关 举报
《C语言程序开发》实验报告及参考答案.docx_第1页
第1页 / 共16页
《C语言程序开发》实验报告及参考答案.docx_第2页
第2页 / 共16页
《C语言程序开发》实验报告及参考答案.docx_第3页
第3页 / 共16页
《C语言程序开发》实验报告及参考答案.docx_第4页
第4页 / 共16页
《C语言程序开发》实验报告及参考答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

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

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

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

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

实验报告

课程名称:

C语言程序开发

学生姓名:

学生学号:

专业班级:

指导教师:

实验日期:

实验一循环结构程序设计

1

(一)求1+2+3++100,n100n

(二)输出100~200之间的不能被3整除的数。

实验二数组及其应用

(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验三函数及其应用

(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验四指针及其应用

(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

实验一循环结构程序设计

实验题目:

1

(一)求1+2+3++100,n100n

(二)输出100~200之间的不能被3整除的数。

实验目的

1.掌握循环语句的执行过程及用法

2.初步掌握循环程序设计的基本技巧

3.掌握用while语句,do-while语句和for语句实现循环的方法

4.掌握多重循环的使用

(一)实验步骤

1.题目分析

2.源程序代码

3.运行结果

(二)实验步骤:

1.题目分析

源程序代码

3.运行结果

实验二数组及其应用

实验题目:

(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验目的

1.掌握一维数组的定义及其元素的引用方法

2.掌握利用一维数组实现一些常用算法的基本技巧

3.掌握二维数组的定义及其应用

4.掌握字符数组和字符串函数的使用

5.掌握有关二维数组的基本编程技巧

(一)实验步骤:

1.题目分析

2.源程序代码:

3.运行结果

(二)实验步骤:

1.题目分析

2.源程序代码

3.运行结果

实验三函数及其应用

实验题目:

(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验目的

1.掌握函数的定义及其调用方法

2.掌握函数实参与形参的对应关系,了解“值传递”与“地址传递”的概念

3.掌握函数的嵌套调用和递归调用的方法

4.初步学会使用函数进行程序设计的基本方法

(一)实验步骤:

1.题目分析

2.源程序代码:

3.运行结果

(二)实验步骤

1.题目分析

2.源程序代码

3.运行结果

实验四指针及其应用

实验题目:

(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

实验目的

1.掌握指针的概念,会定义和使用指针变量

2.掌握数组的指针及其基本用法

3.掌握指针变量函数作参数时,参数的传递过程及其用法

4.掌握字符串的指针及其用法

5.掌握函数的指针及其用法

(一)实验步骤:

1.题目分析

2.源程序代码:

3.运行结果

(二)实验步骤:

1.题目分析

3.源程序代码:

3.运行结果

实验报告

课程名称:

C语言程序开发

学生姓名:

学生学号:

专业班级:

指导教师:

实验日期:

实验一循环结构程序设计

1

(一)求1+2+3++100,n100n

(二)输出100~200之间的不能被3整除的数。

实验二数组及其应用

(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验三函数及其应用

(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验四指针及其应用

(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

实验一循环结构程序设计

1实验题目:

(一)求1+2+3++100,n100n

(二)输出100~200之间的不能被3整除的数。

实验目的

1.掌握循环语句的执行过程及用法

2.初步掌握循环程序设计的基本技巧

3.掌握用while语句,do-while语句和for语句实现循环的方法。

4.掌握多重循环的使用

(一)实验步骤

1.题目分析

3.源程序代码#includeintmain()

{

inti=1,sum=0;

//定义变量i的初值为1,sum的初值为0

while(i<=100)

//当i>100,条件表达式i<=100的值

为假,不执行循环体

{

//循环体开始

sum=sum+i;

//第1次累加后,sum的值为1

i++;

//加完后,i的值加1,为下次累加做准备

}

//循环体结束

printf("sum=%d\n",sum);//输出1+2+3⋯+100的累加和return0;

3.运行结果

(二)实验步骤:

1.题目分析

2.源程序代码

#include

intmain()

{intn;

for(n=100;n<=200;n++)

{if(n%3==0)continue;printf("%d",n);

}

printf("\n");

return0;

}

3.运行结果

实验二数组及其应用

实验题目:

(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验目的

1.掌握一维数组的定义及其元素的引用方法

2.掌握利用一维数组实现一些常用算法的基本技巧

3.掌握二维数组的定义及其应用

4.掌握字符数组和字符串函数的使用

5.掌握有关二维数组的基本编程技巧

(一)实验步骤:

1.题目分析

先思考一下在打擂台时怎样确定最后的优胜者。

先找出任一人站在台上,第2人上去与之比武,胜者留在台上。

再上去第3人,与台上的人(即刚才的得胜者)比武,胜者留台上,败者下台。

以后每一个人都是与当时留在台上的人比武。

直到所有人都上台比过为止,最后留在台上的就是冠军。

3.源程序代码:

#include

intmain()

{inti,j,row=0,colum=0,max;

inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

//

定义数组并赋初值max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max)//{max=a[i][j];row=i;colum=j;

//先认为a[0][0]最大

如果某元素大于max,就取代max的原值

//记下此元素的行号

//记下此元素的列号

printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);return0;

 

3.运行结果

 

(二)实验步骤:

1.题目分析string:

用于存放字符串。

word=0表示未出

i:

计数器,用于遍历字符串中的每个字符。

word:

用于判断是否开始了一个新单词的标志。

若现新单词,如出现了新单词,就把word置成1。

num:

用于统计单词数。

2.源程序代码

#include

intmain()

{

charstring[81];

inti,num=0,word=0;

charc;

gets(string);//输入一个字符串给字符数组string

for(i=0;(c=string[i])!

='\0';i++)//只要字符不是'\0'就循环

if(c=='')word=0;//若是空格字符,使word置0elseif(word==0)//如果不是空格字符且word原值为0{word=1;//使word置1

num++;//num累加1,表示增加一个单词

}

printf("Thereare%dwordsinthisline.\n",num);//

输出单词数

return0;

}

3.运行结果

实验三函数及其应用

实验题目:

(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验目的

1.掌握函数的定义及其调用方法

2.掌握函数实参与形参的对应关系,了解“值传递”与“地址传递”的概念

3.掌握函数的嵌套调用和递归调用的方法

4.初步学会使用函数进行程序设计的基本方法

(一)实验步骤:

1.题目分析

3.源程序代码:

#include

intmain()

return0;

4个学生年龄是第3个学生年龄加2)

return(c);

//返回年龄

}

3.运行结果

(二)实验步骤

3.题目分析

4.源程序代码

#include

intmain()

{voidsort(intarray[],intn);

inta[10],i;

printf("enterarray:

\n");

for(i=0;i<10;i++)scanf("%d",&a[i]);

sort(a,10);//调用sort函数,a为数组名,大小为10

printf("Thesortedarray:

\n");

for(i=0;i<10;i++)

printf("%d",a[i]);printf("\n");return0;

}

voidsort(intarray[],intn)

{inti,j,k,t;

for(i=0;i

{k=i;

for(j=i+1;j

if(array[j]

k=j;

t=array[k];array[k]=array[i];array[i]=t;

}

}

3.运行结果

实验四指针及其应用

实验题目:

(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

实验目的

6.掌握指针的概念,会定义和使用指针变量

7.掌握数组的指针及其基本用法。

8.掌握指针变量函数作参数时,参数的传递过程及其用法

9.掌握字符串的指针及其用法

10.掌握函数的指针及其用法

一)实验步骤:

1.题目分析

 

4.源程序代码:

#include

#include

intmain()

{voidsort(char*name[],intn);//函数声明

voidprint(char*name[],intn);//函数声明

char*name[]={"Followme","BASIC",

"GreatWall","FORTRAN","Computerdesign"};

//定义指针数组,它的元素分别指向5个字符串

intn=5;

sort(name,n);//调用sort函数,对字符串排序print(name,n);//调用print函数,输出字符串return0;

}

voidsort(char*name[],intn)//定义sort函数

{char*temp;

inti,j,k;

for(i=0;i

{k=i;

for(j=i+1;j

if(strcmp(name[k],name[j])>0)k=j;

if(k!

=i)

{temp=name[i];name[i]=name[k];name[k]=temp;}

}

}

voidprint(char*name[],intn)//定义print函数{inti;

for(i=0;i

//按指针数组元素的顺序输出它们所指向的字符串}

3.运行结果

(二)实验步骤:

1.题目分析

pointer

score数组

pointer+1

60

70

80

90

56

89

67

88

34

78

90

66

5.源程序代码:

#include

intmain()

{floatscore[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};

//定义数组,存放成绩

函数声明

score[k][0]

float*search(float(*pointer)[4],intn);//

float*p;

inti,k;

printf("enterthenumberofstudent:

");scanf("%d",&k);//输入要找的学生的序号printf("ThescoresofNo.%dare:

\n",k);

p=search(score,k);//调用search函数,返的地址

//输出

for(i=0;i<4;i++)

printf("%5.2f\t",*(p+i));

score[k][0]~score[k][3]的值

printf("\n");

return0;

}

float*search(float(*pointer)[4],intn)

//形参pointer是指向一维数组的指针变量{float*pt;

pt=*(pointer+n);//pt的值是&score[k][0]

return(pt);

3.运行结果

 

 

 

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

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1