C语言程序设计实验指导书

发布时间 : 星期一 文章C语言程序设计实验指导书更新完毕开始阅读

(4)编程序找出一个 5 X 4 矩阵的鞍点。鞍点即矩阵中的某个元素符合如下条件:在其所在行最大,同时在其所在列是最小,当然一个矩阵可能也没有鞍点。(要求文件名:5_4.c) 参考程序: #include void main()

{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 prime(int number); main() {

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 int max_ys(int x,int y); main( ) {int x,y,i,max;

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)

联系合同范文客服:xxxxx#qq.com(#替换为@)