云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言实验册

C语言实验册

  • 62 次阅读
  • 3 次下载
  • 2025/12/2 20:22:37

金陵科技学院实验报告

(3)功能:编写函数void fun(int n,int a[]),按顺序将一个4位的正整数每一位上的数字存到一维数组,然后在主函数输出。例如输入5678,则输出结果为 5 6 7 8。

(4)功能:编写函数void fun(int arr[],int n)将一个数组中的值按逆序存放,并在main()函数中输出。

例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。

(5) 功能:程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],int n),使数组a左下三角元素中的值乘以n。 例如:若n的值为3,a数组中的值为

| 1 9 7 | | 3 9 7 | a = | 2 3 8 | 则返回主程序后a数组中的值应为 | 6 9 8 | | 4 5 6 | | 12 15 18|

(6)功能:编写函数void fun(int array[3][3]),实现矩阵(3行3列)的转置(即行列互换)。

例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出:

100 400 700 200 500 800 300 600 900 4、讨论、思考题 (1)功能:编写函数float fun(),利用以简单迭代方法Xn+1=cos(Xn)求方程:cos(x)-x=0的一个实根。迭代步骤如下:

1)取x1初值为0.0;

2)x0=x1,把x1的值赋给x0;

3)x1=cos(x0),求出一个新的x1;

4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2); 5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 输出:程序将输出结果Root=0.739085。

(2)功能:编写float fun(float array[],int n),统计出若干个学生的平均成绩,最高分以及得最高分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,最高分为92,得最高分的人数为3人。

(3)编写函数 int fun(int lim,int aa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回求出素数的个数。

(4)功能:编写函数int fun(int a[M][M]),求5行5列矩阵的主、副对角线上元素之和。注意,两条对角线相交的元素只加一次。

(5)功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。

5

金陵科技学院实验报告

程序清单及流程图:

6

金陵科技学院实验报告

四、实验结果与分析(程序运行结果及其分析)

1、程序调试 (1) main()

{ int a=10,b=20,x,*pa,*pb; pa=&a;pb=&b;

printf(“%d,%d,%d,%d”,a,b,*pa,*pb); x=*pa;*pa=*pb;*pb=x;

printf(“%d,%d,%d,%d”,a,b,*pa,*pb); } (2) main()

{ int a=10,b=20,*p,*pa=&a,*pb=&b; printf(“%d,%d,%d,%d”,a,b,*pa,*pb);

p=pa;pa=pb;pb=p;

printf(“%d,%d,%d,%d”,a,b,*pa,*pb); }

(3) int *swap(int *a,int *b)

{ int *p; p=a; a=b; b=p; return(a); } main()

{int x=3,y=4,z=5; swap(swap(&x,&y),&z); printf(“%d,%d,%d”,x,y,z); }

思考:上面程序中函数swap()预将两个数的值相互交换,但结果为什么没有交换? 2、程序改错

要求:1、改错时,只允许修改现有语句中的一部分内容,不允许添加和删除语句。 2、提示行下一行为错误行。

(1)功能:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。

#include

void input(int *arr,int n) {

int *p,i; p=arr;

7

金陵科技学院实验报告

printf(\ for(i=0;i

/**********ERROR**********/ scanf(\}

void max_min(int *arr,int n) {

int *min,*max,*p,t; min=max=arr;

for(p=arr+1;p

/**********ERROR**********/ if(*p<*max) max=p;

else if(*p<*min) min=p; t=*arr;*arr=*min;*min=t; /**********ERROR**********/ if(max=arr) max=min; t=*(arr+n-1);

*(arr+n-1)=*max; *max=t; }

void output(int *arr,int n) {

int *p,i; p=arr;

printf(\ /**********ERROR**********/ while(i=0;i

main() {

int a[10]; input(a,10); max_min(a,10); output(a,10); }

(2)功能:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。 例如:当s所指的字符串的内容为\时,t所指数组中的内容为\。 #include #include #include

/**********FOUND**********/

8

搜索更多关于: C语言实验册 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

金陵科技学院实验报告 (3)功能:编写函数void fun(int n,int a[]),按顺序将一个4位的正整数每一位上的数字存到一维数组,然后在主函数输出。例如输入5678,则输出结果为 5 6 7 8。 (4)功能:编写函数void fun(int arr[],int n)将一个数组中的值按逆序存放,并在main()函数中输出。 例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 (5) 功能:程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],int n),使数组a左下三角元素中的值乘以n。 例如:若n的值为3,a数组中的值为 | 1 9 7 | | 3 9

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com