返回:贺老师课程教学链接
int sum(int array[ ][4],int m,int n); //该函数完成对array数组中的前m行和n列元素求和在以下程序的基础上,完成对sum函数的定义。
#include <stdio.h> int sum(int array[ ][4],int m,int n);//该函数完成对array数组中的前m行和n列元素求和 int main() { int a[4][4]= {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; //定义二维数组的同时进行初始化 int row,col; scanf("%d %d", &row, &col); //输入行数和列数 printf("%d\n", sum(a, row, col)); //输出二维数组前row行前col列的元素的和 return 0; }[ 参考解答]
#include <stdio.h> void input(double s[][4],int n); //输入成绩 void output(double s[][4],int n); //输出成绩 double max(double s[][4],int n,int i); //求第i门课的最高成绩,i=3时是总分 double min(double s[][4],int n,int i); //求第i门课的最低成绩 double avg(double s[][4],int n,int i); //求第i门课的平均成绩 int main() { int i,num; double score[100][4]; //设一个班最多100人,实际按输入来 char course[4][10]= {"高等数学","英语","C++","总分"}; printf("输入学生人数:"); scanf("%d", &num); //(1)输入成绩并求出总分 input(score,num); //(2)输出成绩 output(score,num); //(3)输出各门课及总分的最高成绩、最低成绩、平均成绩和成绩的标准偏差; for(i=0; i<4; ++i) { printf("%s的最高成绩是%.2f, ", course[i], max(score,num,i)); printf("最低成绩是%.2f, ", min(score,num,i)); printf("平均成绩是%.2f ", avg(score,num,i)); printf("\n"); } return 0; }[ 参考解答]
#include <stdio.h> #include <time.h> #include <stdlib.h> void setdata(int a[8][8]); //设置随机数 void out(int a[8][8]); //输出数组 void outDiagonal(int a[8][8]); //输出对角线元素的值 void mine(int a[8][8],int x, int y); //按“扫雷”游戏的规则输出相邻格子 void change(int a[8][8]); //按要求改变数值 int main() { int a[8][8], x, y; setdata(a); out(a); outDiagonal(a); printf("输入一个位置:"); scanf("%d %d", &x, &y); mine(a,x,y); change(a); out(a); return 0; } void setdata(int a[8][8]) { int i,j; srand(time(NULL));//需要用当前时间作“种子”,以便每次运行取得的序列不同 for(i=0; i<8; i++) for(j=0; j<8; j++) a[i][j]=rand()%50+1; return; } //按行序优先输出数组 void out(int a[8][8]) { } //输出对角线元素的值(从左上到右下、从右上到左下) void outDiagonal(int a[8][8]) { } //按扫雷游戏规则,输出a[x][y]周围的8个数字 void mine(int a[8][8],int x, int y) { } //按题目中所言规则更改元素的值 void change(int a[8][8]) { }