int AB(int arr[][10],int n,int a){//我真的找不到我哪错了
int j,t=0;
for(j=1;j<a;j++){
if(arr[n][j]>arr[n][t])
t=j;
}
return t;
}
int CD(int arr[][10],int n,int b){
int j,t=0;
for(j=1;j<b;j++){
if(arr[j][n]<arr[t][n])
t=j;
}
return t;
}
int main(){
int m,n,i,j,s,t;int arr[10][10];
printf( "Input m,n:\n");
scanf("%d,%d",&m,&n);
printf("Input matrix:\n" );
for(i=0;i<m;i++){
for(j=0;j<n;j++)
scanf("%d",&arr[i][j]);}
for(i=0;i<m;i++){
t=AB(arr,i,n);
s=CD(arr,t,m);
if(s==i);
{
printf("a[%d][%d] is %d\n",i,t,arr[i][t]);
break;}
}
if(i>=m)
printf("No saddle point!\n");
return 0;
}
主函数第二个for循环下面nageif(s==i);
你确定那个;要加上去吗,程序是不会报错的,结果错误我觉得这里可能有问题
请详细描述一下 您发生的问题。预期输入和预期输出是什么。
#include<stdio.h>
int AB(int arr[][10], int n, int a) {//我真的找不到我哪错了
int j, t = 0;
for (j = 1;j < a;j++) {
if (arr[n][j] > arr[n][t])
t = j;
}
return t;
}
int CD(int arr[][10], int n, int b) {
int j, t = 0;
for (j = 1;j < b;j++) {
if (arr[j][n] < arr[t][n])
t = j;
}
return t;
}
int main() {
int m, n, i, j, s, t;int arr[10][10];
printf("Input m,n:\n");
scanf_s("%d,%d", &m, &n);
printf("Input matrix:\n");
for (i = 0;i < m;i++) {
for (j = 0;j < n;j++)
scanf_s("%d", &arr[i][j]);
}
for (i = 0;i < m;i++) {
t = AB(arr, i, n);
s = CD(arr, t, m);
if (s == i);
{
printf("a[%d][%d] is %d\n", i, t, arr[i][t]);
break;}
}
}//少了括号
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632