c语言函数调用问题 (回答好追加100分)
根据要求编写程序P5031.C的指定部分:程序P5031.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修...
根据要求编写程序P5031.C的指定部分:
程序P5031.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。
程序的功能是:找出任意的一个m×n矩阵每一行上的最大值的列下标并按示例格式要求显示。m、n(2<=m<=20、2<=n<=20)及矩阵元素从键盘输入。编程可用素材:printf("The max value in line %d is %d\n"...。
程序的运行效果应类似地如图1所示,图1中的5 6和
31 42 36 74 2358 88
32 57 37 43 47 1447
97 51 257 7 445 459
33 65 44 3 425 43
68 3425 82 789 123 2134
是从键盘输入的内容。
#include <stdio.h>
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */ 展开
程序P5031.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。
程序的功能是:找出任意的一个m×n矩阵每一行上的最大值的列下标并按示例格式要求显示。m、n(2<=m<=20、2<=n<=20)及矩阵元素从键盘输入。编程可用素材:printf("The max value in line %d is %d\n"...。
程序的运行效果应类似地如图1所示,图1中的5 6和
31 42 36 74 2358 88
32 57 37 43 47 1447
97 51 257 7 445 459
33 65 44 3 425 43
68 3425 82 789 123 2134
是从键盘输入的内容。
#include <stdio.h>
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */ 展开
5个回答
展开全部
#include <stdio.h>
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
void fun(int juZhen[N][N],int m,int n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
fun(juZhen,m,n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
void fun(int juZhen[N][N],int m,int n)
{
int i,j,max=juZhen[0][0],maxi=0;
for(i=0;i<m;i++)
{
max=juZhen[i][0];
maxi=0;
for(j=1;j<n;j++)
{
if(juZhen[i][j]>max)
{
max=juZhen[i][j];
maxi=j;
}
}
printf("The max value in line %d is %d\n",i,maxi);
}
}
结果验证:
31 42 36 74 2358 88
32 57 37 43 47 1447
97 51 257 7 445 459
33 65 44 3 425 43
68 3425 82 789 123 2134
The max value in line 0 is 4
The max value in line 1 is 5
The max value in line 2 is 5
The max value in line 3 is 4
The max value in line 4 is 1
请hehefaq指出,“当一行中的最大值是第一个数的时候 程序会出错”,错在哪?
7777 42 36 74 2358 88
9999 57 37 43 47 1447
2222 51 257 7 445 459
3698 65 44 3 425 43
8000 3425 82 789 123 2134
The max value in line 0 is 0
The max value in line 1 is 0
The max value in line 2 is 0
The max value in line 3 is 0
The max value in line 4 is 0
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
void fun(int juZhen[N][N],int m,int n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
fun(juZhen,m,n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
void fun(int juZhen[N][N],int m,int n)
{
int i,j,max=juZhen[0][0],maxi=0;
for(i=0;i<m;i++)
{
max=juZhen[i][0];
maxi=0;
for(j=1;j<n;j++)
{
if(juZhen[i][j]>max)
{
max=juZhen[i][j];
maxi=j;
}
}
printf("The max value in line %d is %d\n",i,maxi);
}
}
结果验证:
31 42 36 74 2358 88
32 57 37 43 47 1447
97 51 257 7 445 459
33 65 44 3 425 43
68 3425 82 789 123 2134
The max value in line 0 is 4
The max value in line 1 is 5
The max value in line 2 is 5
The max value in line 3 is 4
The max value in line 4 is 1
请hehefaq指出,“当一行中的最大值是第一个数的时候 程序会出错”,错在哪?
7777 42 36 74 2358 88
9999 57 37 43 47 1447
2222 51 257 7 445 459
3698 65 44 3 425 43
8000 3425 82 789 123 2134
The max value in line 0 is 0
The max value in line 1 is 0
The max value in line 2 is 0
The max value in line 3 is 0
The max value in line 4 is 0
展开全部
#include <stdio.h>
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
void fun(int a[][N],int m,int n);
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
fun(juZhen,m,n);
return 0;
}
void fun(int a[][N],int m,int n)
{
int i,j,max;
for(i=0;i<m;i++)
{
max=0;
for(j=1;j<n;j++)
if(a[i][max]<a[i][j]) max=j;
printf("The max value in line %d is %d\n",i,max);
}
}
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
void fun(int a[][N],int m,int n);
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
fun(juZhen,m,n);
return 0;
}
void fun(int a[][N],int m,int n)
{
int i,j,max;
for(i=0;i<m;i++)
{
max=0;
for(j=1;j<n;j++)
if(a[i][max]<a[i][j]) max=j;
printf("The max value in line %d is %d\n",i,max);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
void ABC(int a[N][N], int m, int n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
ABC(juZhen, m, n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
void ABC(int a[N][N], int m, int n)
{
int hang, lie, max;
for (hang = 0; hang < m; hang++)
{
max = a[hang][0];
for (lie = 1; lie < n; lie++)
{
if (max < a[hang][lie]) max = a[hang][lie];
}
printf("The max value in line %d is %d\n", hang, max);
}
}
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
void ABC(int a[N][N], int m, int n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
ABC(juZhen, m, n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
void ABC(int a[N][N], int m, int n)
{
int hang, lie, max;
for (hang = 0; hang < m; hang++)
{
max = a[hang][0];
for (lie = 1; lie < n; lie++)
{
if (max < a[hang][lie]) max = a[hang][lie];
}
printf("The max value in line %d is %d\n", hang, max);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
int findmax(int **JuZhen,int m,int n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
findmax(juZhen,m,n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
int findmax(int **JuZhen,int m,int n)
{
int i,j,max,index;
for(i=0;i<m;i++){
max=juZhen[i][0];
index=0;
for(j=1;j<n;j++){
if(juZhen[i][j]>max) index=j;
}
printf("The max value in line %d is %d\n",i,index);
}
}
#define N 20
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
int findmax(int **JuZhen,int m,int n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
int m, n;
int hang, lie, juZhen[N][N];
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (hang = 0; hang < m; hang++)
{
for (lie = 0; lie < n; lie++)
{
scanf("%d", &juZhen[hang][lie]);
}
}
puts("");
/* 本部分代码功能建议:调用用户自定义函数找出每一行上的最大值的列下标并按示例格式要求显示 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
findmax(juZhen,m,n);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
int findmax(int **JuZhen,int m,int n)
{
int i,j,max,index;
for(i=0;i<m;i++){
max=juZhen[i][0];
index=0;
for(j=1;j<n;j++){
if(juZhen[i][j]>max) index=j;
}
printf("The max value in line %d is %d\n",i,index);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
4楼答案正解
前三楼的答案都存在相同的缺陷
当一行中的最大值是第一个数的时候 程序会出错
4L 高手 膜拜下 哇咔咔
前三楼的答案都存在相同的缺陷
当一行中的最大值是第一个数的时候 程序会出错
4L 高手 膜拜下 哇咔咔
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询