发布时间 : 星期一 文章C语言程序设计实验指导书更新完毕开始阅读
(4)编程序找出一个 5 X 4 矩阵的鞍点。鞍点即矩阵中的某个元素符合如下条件:在其所在行最大,同时在其所在列是最小,当然一个矩阵可能也没有鞍点。(要求文件名:5_4.c) 参考程序: #include
{int array[4][4]={{11,1,23,45},{40,56,98,91},{23,21,12,40},{45,67,23,90}}; int i,number=0,sign,j,m,n; printf(\ for (i = 0;i <=3;i++)
{ for (j = 0; j<= 3;j++)
printf(\
printf(\ }
printf(\
for (i = 0; i <= 3; i++)
{ m = i; n = 0; sign = 1;
for(j = 0; j <= 3;j++)
{ if (array[m][n] < array[i][j]) }
n = j;
for(j = 0; j <= 3;j++)
if(array[m][n] >array[j][n])
sign = 0;
if (sign == 1) }
{printf(\ number++; }
if (number == 0) }
printf(\
实验六:函数(2学时)
一、实验目的和要求:
(1)掌握定义函数的方法。
(2)掌握函数实参与形参的对应关系以及“值传递”的方式。 (3)掌握函数的嵌套调用和递归调用的方法。
(4)掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。 (5)学习对多文件程序的编译和运行。
二、实验内容:
可选做以下题目:
(1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。 (2)求两个整数的最大公约数和最小公倍数。写一个函数求最大公约数。 (3)写一函数,输入一个十六进制数,输出相应的十进制数。 (4)用一个函数实现两个字符串的比较,即自己写一个strcmp函数。
(5)求 1-300 中所有素数的平均值。要求:请用函数实现判断一个数是否为素数的功能,用另一个函数实现对1-300中的素数进行累加以及求平均值的功能,在主函数中输出该平均值。
三、实验步骤、过程:
(1)启动Turbo C集成开发环境。(方法与实验1相同)
(2)完成或选做上面5个程序题。(编辑、编译连接、运行程序,步骤与实验1相同) 注意:经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。 (3)退出Turbo C集成开发环境,关机。
四、源程序清单、测试数据、结果。
(1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。(要求文件名:6_1.c) 参考程序: #include
int number;
printf(\scanf(\
if (prime(number)) else }
int prime(int number) /*此函数用于判别素数*/ {
int flag=1,n;
for(n=2;n if (number%n==0) flag=0; printf(\printf(\ return(flag); } (2)求两个整数的最大公约数和最小公倍数。写一个函数求最大公约数。(要求文件名:6_2.c) 参考程序: #include scanf(\max=max_ys(x,y); printf(\printf(\} int max_ys(int x,int y) {int i,m,max; if(x>y) else m=y; m=x; for(i=1;i<=m;i++) { if((x%i==0)&&(y%i==0)) } max=i; return(max); } (3)写一函数,输入一个十六进制数,输出相应的十进制数。(要求文件名:6_3.c) 参考程序: #include \long change(char shu[]) { long i,k,sum=0; k=strlen(shu)-1; for(i=k;i>=0;i--) if(shu[i]>=48&&shu[i]<=57) sum=sum+(shu[i]-48)*pow(16,k-i); else if(shu[i]>=65&&shu[i]<=70) sum=sum+(shu[i]-55)*pow(16,k-i); else if(shu[i]>=97&&shu[i]<=102) else { printf(\break; } sum=sum+(shu[i]-87)*pow(16,k-i); return sum; } main() { char str[100]; long s; gets(str); s=change(str); if(!s)