急,c语言改错

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:35:11
2.程序改错题 gc369.c功能为:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。程序中有两处错误代码,请指出并改正之。不得增加行或删除行,也不得更改程序结构。/*Find the saddle point*/#include<stdio.h>#define N 5#define M 5main(){ int i,j,k,flag1,flag2,a[N][M],max,maxi,maxj; for (i=0;i<N;i++) for (j=0;j<M;j++) scanf("%d",&a[i][j]); flag2=0; for (i=0;i<N;i++){ max=a[j][0]; for (j=0;j<M;j++) if (a[i][j]>max) { max=a[i][j]; maxj=j; } for (k=0,flag1=1;k<N&&flag1;k++) if (max>a[k][maxj]) flag1=0; if (flag1) { printf("\nThe saddle point is:%d,%d,%d\n",i,maxj,max); flag2=1; } } if (flag2) printf("\nThere is no saddle point in the Matrix\n");}

float f2(int n)
{if(n=1);
return 0;
else
return (f2(n-1)*n);
}
float f1 (int n)
{int i,x, j;
float j=1;
for(i=1;i〉=n;i++)
j=j*x;
return i;
}
main()
{float exp;
int n, x;
clrscr();
printf("Input a number:\n");
scanf("%d", &x);
printf("%d\n",x);
exp+=x;
for(n=2;n<=19;n++)
exp=exp+f1(x,n)/f2(n);
printf("exp(%d)=%8.4f\n",x,exp);
}
运行后结果为:
Input a number:2↙
exp(2)= 7.3891↙

#include <stdio.h>
#define N 5
#define M 5
main()
{
int i,j,k,flag1,flag2,a[N][M],max,maxi,maxj;
for (i=0;i<N;i++)
for (j=0;j<M;j++)
scanf("%d",&a[i][j]);
flag2=0;
for (i=0;i<N;i++)
{
max=a[j][0]; /*至少此处有错误,上面执行后j=5,时间关系,我不改了。*/
for (j=0;j<M;j++)