从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include <stdio.h> #define M 10 #define N 10 void InputMatrix(int *p, int m, int n); int FindMax(int *p, int m, int n, int *pRow, int *pCol); int main() { int a[M][N], m, n, row, col, max; printf("Input m,n:\n"); scanf("%d,%d", &m, &n); InputMatrix(*a, m, n); max = FindMax(________________); printf("max=%d,row=%d,col=%d\n", max, row, col); return 0; } /* 函数功能:输入m*n矩阵的值 */ void InputMatrix(int *p, int m, int n) { int i, j; printf("Input %d*%d array:\n", m, n); for (i=0; i <m; i++) { for (j="0;" j++) scanf("%d", _________); } * 函数功能:在m*n矩阵中查找最大值及其所在的行列号 int findmax(int *p, m, n, *prow, *pcol) i, j, max="p[0];" *prow="0;" *pcol="0;" (i="0;" if (p[i*n+j]> max) { max = ___________; ______________; /*记录行下标*/ ______________; /*记录列下标*/ } } } return max; }
A、第12行: *a, m, n, &row, &col 第27行: &p[i*n+j] 第44行: p[i*n+j] 第46行: *pRow = i 第48行: *pCol = j
B、第12行: *a, m, n, &row, &col 第27行: &p[j*n+i] 第44行: p[j*n+i] 第46行: *pRow = j 第48行: *pCol = i
C、第12行: &a, m, n, row, col 第27行: &p[i*n+j] 第44行: p[i*n+j] 第46行: pRow = i 第48行: pCol = j
D、第12行: a, m, n, row, col 第27行: &p[j*n+i] 第44行: p[i*n+j] 第46行: *pRow = j 第48行: *pCol = i
第1题
A.第12行: ?*a,m, n, &row, &col 第27行: &p[i*n+j] 第44行: p[i*n+j] 第46行: *pRow = i 第48行: *pCol = j
B.第12行: ?*a,m, n, &row, &col 第27行:?&p[j*n+i] 第44行:?p[j*n+i] 第46行:?*pRow = j 第48行:?*pCol = i
C.第12行: ?&a,m, n, row, col 第27行:?&p[i*n+j] 第44行:?p[i*n+j] 第46行:?pRow = i 第48行:?pCol = j
D.第12行: ?a,m, n, row, col 第27行:?&p[j*n+i] 第44行:?p[i*n+j] 第46行:?*pRow = j 第48行:?*pCol = i
第5题
A、同行的数据在内存中连续存放。
B、对全部数组元素都赋初值时,可以不指定数组第二维的长度。
C、不能将二维数组作为一个整体输入与输出。
D、将二维数组看作是一维数组时,该一维数组的每个元素本身又是一个一维数组。
第7题
算法设计:对于给定的m和n,计算出不同的宝石排列方案数.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数m和n(0<m≤n<9).
结果输出:将计算的宝石排列方案数输出到文件output.txt.
第8题
第9题
找最值 题目内容: 从键盘任意输入6个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。函数原型如下所示: int FindMax(int num[], int n, int *pMaxPos);//函数返回最大值,pMaxPos返回最大值所在的下标 int FindMin(int num[], int n, int *pMinPos);//函数返回最小值,pMaxPos返回最小值所在的下标 程序运行结果示例: Input 10 numbers: -1 2 3 45 92 8 9 ↙ Max=92,Position=4,Min=-1,Position=0 输入格式: "%d" 输出格式: 提示信息:"Input 6 numbers:\n" 输出结果:"Max=%d,Position=%d,Min=%d,Position=%d\n"
第10题
从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3*100+2*10+1 = 321,并输出321。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include <math.h> #include <stdio.h> int main() { int x, b0, b1, b2, y; printf("Input x:"); scanf("%d", &x); x = (int)fabs(x); b2 = ________; /* 计算百位数字 */ b1 = _________; /* 计算十位数字 */ b0 = _________; /* 计算个位数字 */ y = b2 + b1*10 + b0*100; printf("y = %d\n",y); return 0; }
A、第10行: x / 100 第12行: (x - b2 * 100) / 10 第14行: x % 10
B、第10行: x % 100 第12行: (x - b2 * 100) / 10 第14行: x / 10
C、第10行: x / 100 第12行: (x - b2 * 100) % 10 第14行: x / 10
D、第10行: x / 10 第12行: (x - b2 * 10) / 10 第14行: x % 100
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!