77范文网 - 专业文章范例文档资料分享平台

VC6.0上机指导(C语言实验讲义)(6)

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验九 函数和程序结构

实验目的

1.熟练掌握递归函数的定义和调用 2.掌握全局变量的定义和使用 3.掌握static变量定义和使用 实验内容

1.调试,用递归函数计算xn的值 #include void main() { double x, root; int n;

printf(“Input x,n:”); scanf(“%lf%d”,&x,&n); root=fun(n,x);

printf(“Root=%.2f\\n”,root); } /*调试时设置断点*/ double fun(int n,double x) { if(n==1) return 1; else

return x*fun(n-1,x); }

运行结果(改正后程序的运行结果) Input x,n:2 3 Root=8.00

2.编程,输出Fibonacci数列1,1,2,3,5,8,…的前20个数,每行输出5个。要求用递归函数计算Fibonacci数列。

输入输出示例: 1 1 2 3 5 8 13 21 。。。。。。

提示:Fibonacci数列可以表示为:fib(1)=1,fib(2)=1,fib(n)=fib(n-1)+fib(n-2) (n>=3)

思考:如何用递归实现字符串的逆序存放,例如,将字符串”-16385”转换为”-58361”

3.编程,设u、v取值为区间[-20,20]的整数,找出使f(u,v)取最大值的u和v。f(u,v)=(3.8*u*u+6.2*v-2*u)/-1.2*6+3*v)。要求定义和调用函数计算f(u,v)的值。

输入输出示例: Max_u=-20.00 Min_v=3.00 Max=877.00

4.编程,输入3个整数x、y、z,计算并输出s=x!+y!+z!。要求定义2个函数,一个是求阶乘的递归函数,另一个函数求累加和(使用static变量)。

输入输出示例: Input x,y,z: 5 6 7 Sum=5580

实验报告要求 将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

26

实验十 指针

实验目的

1.熟练掌握指针的定义和使用

2.掌握使用二维字符数组和指针数组处理字符串

3.熟练掌握指针作为函数参数,包括数组名作为函数的参数 4.熟练使用字符串处理函数strcmp、strcpy、strlen、strcat。

实验内容

1.调试,将5个字符串从小到大排序后输出。 源程序(有错误的程序) #include

#include

void fsort(char cname[][6],int n) { int k,j;

char tmp[6];

for(k=1;k

if(cname[j]>cname[j+1]) { t=cname[j];

cname[j]=cname[j+1]; cname[j+1]=t; } }

void main()

{ int i;

char cname[5][6]={“wang”,”li”,”zhang”,”jin”,”xian”}; fsort(cname,5); for(i=0;i<5;i++)

printf(“%s \\n”,cname[i]); } /*调试时设置断点*/

运行结果(改正后程序的运行结果) Jin Li Wang Xian

Zhang

2.编程,输入n(3

输入输出示例:

输入数组元素的个数:5

27

输入5个数:12 8 3 6 19

最小值是a[2]=3 思考:如何在二维数组中找出最大值、最小值及其对应的行列下标,要求定义函数实现。 3.编程,输入一个3╳4的数组,先找出每一行中的最大元素,再分别除该行中的所有元素,最后输出数组。要求:定义和调用函数处理数组中的元素,在函数中使用指针、数组各一次。

输入输出示例: 输入3╳4数组 1 2 3 4 5 6 7 8

9 10 11 12

0.25 0.50 0.75 1.00

0.63 0.75 0.88 1.00 0.75 0.83 0.92 1.00

提示:定义函数形参时,如果把二维数组定义为指针,调用时要用一级指针的地址。 思考:输入一个3╳4的数组,先找出每一行中绝对值最大的元素,再分别除该行中的所有元素,最后输出数组,试编制程序。

4.编程,输入6个字符串,先按从小到大的顺序输出这些字符串,再输出其中最大和最小的字符串,要求定义和调用函数。 输入输出示例: 输入6行字符串: Hangzhou Shanghai Beijing Nanjing Guangzhou

Tianjing

字符串从小到大排列后: Beijing Guangzhou Hangzhou Nanjing Shanghai

Tianjing

最短的字符串是Beijing 最长的字符串是Tianjing

提示:定义函数形参时,如果把二维数组定义为指针,调用时要用一级指针的地址

5.编程,把命令行中的字符串(由数字字符组成)转换为整数并累加输出(如:字符地串”test 12 348”转换为整数并累加,值为360) 输入输出示例: test 12 34 sum=46

28

提示:

1)在Dos命令方式下和在VC++环境下各运行一次。其中VC++下的运行方式是:执行“工程”->“设置”->“Debug”->程序变量中设置参数命令 2)命令行参数都是字符串,不是数字。

思考:如果命令行参数中包括文件名,要求从文件中读出数据,如何编程

6.编程,从键盘上输入一个3╳3的矩阵,求矩阵的主对角线和副对角线之和,要求定义和调用函数。 输入输出示例: 输入3╳3数组 8 6 12 5 9 10 7 11 5 Sum=41.00

实验报告要求

将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

29

实验十一 函数和程序结构

实验目的

1.理解文件、缓冲文件和文件指针的概念 2.掌握文件的基本操作

3.使用与文件操作有关的函数,如文件的打开、关闭以及读、写等

实验内容

1.调试,从键盘输入一行字符,写到文件a.txt中。 源程序(有错误的程序) #include #include void main() { char ch; FILE fp;

if((fp=fopen(“a.txt”,”w”))!=NULL) { printf(“can?t open file!”);

exit(0); }

while((ch=getchar())!=?\\n?) /*调试时设置断点*/ fputc(ch,fp); fclose(fp);

} /*调试时设置断点*/

运行结果(改正后程序的运行结果) 高等院校

2.编程,从键盘输入5个同学的学号、姓名和数学成绩,写到文本文件f2.txt中,再从文件读出,显示在屏幕上。 输入输出示例(输出略): 3050811 黄军 78 3050812 董枫 82 3050813 高星 75 3050814 沈远 88

3050815 张涛 80

提示:程序运行后,打开文本文件f2.txt,检查写入文件中的数据是否正确。

3.编程,从键盘输入以下10个学生的学号、姓名,以及数学、语文和英语成绩,写到文本文件f3.txt中,再从文件中取出数据,计算每个学生的总成绩和平均分,并将结果显示在屏幕上。 输入输出示例略

提示:程序运行后,打开文本文件f3.txt,检查写入文件中的数据是否正确。

4.编程,将下列C源程序文件hello.c中的所有注释去掉后,存入另外一个文件new_hello.c中。

30

源程序文件hello.c

/*显示”Hello World!”*/ /*注释文本*/

#include /*编译预处理命令*/ void main() /*主函数*/ {

printf(“Hello World!\\n”); /*调用printf函数输出文字*/ }

输入输出示例(没有键盘输入和屏幕输出): New_hello.c中的内容应该是:(去除hello.c中的注释后) #include void main() {

printf(“Hello World!\\n”);

} 提示:

1)在运行程序前,应该首先建立C源程序文件hello.c

2)运行程序时,不需要从键盘输入数据,也没有屏幕输出

3)程序运行后,打开文本文件new_hello.c,检查文件的内容是否与上面给出的信息一致

实验报告要求-

将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

31

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VC6.0上机指导(C语言实验讲义)(6)在线全文阅读。

VC6.0上机指导(C语言实验讲义)(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/419283.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: