C语言历次上机作业总汇 下载本文

内容发布更新时间 : 2024/12/23 20:31:47星期一 下面是文章的全部内容请认真阅读。

C语言历次上机作业总汇

printf(\}

4.、#include void main() { int i=0,j=0; char s1[10],s2[10]; scanf(\ while(s1[i]!='\\0') i++; while(s2[j]!='\\0') s1[i++]=s2[j++]; s1[i]='\\0'; printf(\} 5.

#include void main() { int a[4][5]={1,3,5,7,9,2,9,9,9,4,6,9,9,9,8,1,3,5,7,0},i,j,s=0; for(i=0;i<4;i++) for(j=0;j<5;j++) if(i==0 || i==3 || j==0 || j==4) s=s+a[i][j]; printf(\} 6.

#include #include void main()

{ int num[5],temp; //此处temp是交换元素的中间量

char name[5][20]; //注意存放姓名要用二级数组,自已思考 char temp2[20]; //此处temp2是交换一维数组的中间量 int i,j,k;

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

{ printf(\请输入学号\ scanf(\ printf(\请输入姓名\ scanf(“%s”,name[i]); } //注意两处scanf函数输入的区别 //按学号进行排序

printf(\请按学号进行排序\

for(j=0;j<4;j++) //冒泡排序 for(k=0;k<4-j;k++) if(num[k]>num[k+1]) { temp=num[k]; //三段交换学号 num[k]=num[k+1]; num[k+1]=temp;

C语言历次上机作业总汇

strcpy(temp2,name[k]); //三段交换姓名 strcpy(name[k],name[k+1]); strcpy(name[k+1],temp2); } // 输出排序后的学号和姓名 for(i=0;i<5;i++)

printf(\}

第13次作业

【作业1】:求素数 #include int fun(int x) { int i;

if(x<2) return 0; for(i=2;ix) return 1; else return 0; }

void main() { int a;

scanf(\

if(fun(a)) printf(\是素数\else

printf(\不是素数\\n\}

【作业2】:编一函数,求阶乘。然后调用它求3!+5!+7! #include int fun(int x) { int i,s=1; for(i=1;i<=x;i++) s=s*i; return s; }

void main() { int x,y,z; x=3;y=5;z=7; printf(\}

C语言历次上机作业总汇

【作业3】:先编写一个函数实现求三个数的最大者,然后再调用它分别求3个数,5个数,7个数的最大者。 【作业4】:给定程序中,函数fun的功能是:计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵:

1 2 3 4 5 6 7 8 9

fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 fun(int t[][N], int n) { int i, sum;

/**********found**********/ ___1___; sum=0

for(i=0; i

for(i=0; i

sum+= t[i][n-i-___3___] ; //注意下标1 return sum; }

void main()

{ int t[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j; printf(\for(i=0; i

{ for(j=0; j

printf(\ %d\ /*调用函数fun,其中有两个实参,第一个实参传递二维数组的首地址,即把二维数组的全部元素传递给形参,第二个参数是传递变量N*/ }

[作业5] 程序填空题(blank.c)

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。

例如,当形参n的值为10时,函数返回:9.612558。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的blank.c中。 不得增行或删行,也不得更改程序的结构!

C语言历次上机作业总汇

#include

double fun(int n) //自定义函数fun ,形参为n { int i; double s, t;

/**********found**********/ s=__1__; 0

/**********found**********/ for(i=1; i<=__2__; i++) n { t=2.0*i;

/**********found**********/

s=s+(2.0*i-1)*(2.0*i+1)/__3__; (t*t) }

return s; }

void main( ) { int n=-1; while(n<0)

{ printf(\ scanf(\ }

printf(\

//在主函数里调用函数fun, 实参为输入的n }

第14次作业

第一部分

说明:此六大题为课堂作业必做题。要求所有人完成!!

【作业1】给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。 例如,有下列矩阵: 1 2 3 4 5 6 7 8 9 10 11 12

若k为2,程序执行结果为: 7 8 9 4 5 6 1 2 3 10 11 12

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 3 #define M 4

/**********found**********/

void fun(int (*a)[N], int __1__) k /* (*a)[N]可以理解为a[M][N],它是函数fun的第一个参数, 通过函数fun(x,2)调用,把由二维数组名x传递来的二组数组全部赋值给a[M][N], 这时就相当于 x[M][N]={ {1,2,3},{4,5,6},{7,8,9},{10,11,12} } */

C语言历次上机作业总汇

{ int i,temp ;

/**********found**********/ for(i = 0 ; i < __2__ ; i++) N { temp=a[0][i] ;

/**********found**********/ a[0][i] = __3__ ; a[k][i] a[k][i] = temp ; } }

void main()

{ int x[M][N]={ {1,2,3},{4,5,6},{7,8,9},{10,11,12} },i,j; printf(\for(i=0; i

{ for(j=0; j

fun(x,2); // 函数调用

printf(\for(i=0; i

{ for(j=0; j

【作业2】给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4

void fun(int (*a)[N], int *b) //等价于void fun(a[][N],int b[])

/*此时指针变量a指向包含N个整型元素的一维数组,即相当于这时为a[N][N], b为指针变量,相当于b[N],这里为双向传递,即b[N]和y[N]共占用一段相同的空间, b[N]此时放得是每列元素中的最大值,则y[N]也是。*/ { int i,j;

for(i=0; i

/**********found**********/ b[i]= __1__; a[0][0] for(j=1; j

/**********found**********/

if(b[i] __2__ a[j][i]) b[i]=a[j][i];< } }

void main()

{ int x[N][N]={ {12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[N],i,j; printf(\for(i=0;i