int IsCancel(int a[], int n, int k){ int i,s=0; for (i=0;i else return 0; } int main() { int a[100]; int i,n,k; printf(\ scanf(\ for (i=0;i if(IsCancel(a,n,k)) printf(\else printf(\ }\9.3 \ 请编程找出一个M*N矩阵中的鞍点,即该位置上的元素是该行上的最大值,是该列上的最小值。如果矩阵中没有鞍点,则输出“No saddle point!” 已知函数原型: void FindSaddlePoint(int a[][N], int m, int n); 在该函数中输出有无鞍点的信息。 程序运行结果示例1: Input m,n: 3,3↙ Input matrix: 1 2 3 4 5 6 7 8 9 a[0][2] is 3 程序运行结果示例2: Input m,n: 3,4↙ Input matrix: 3 4 7 5 0 1 8 2 9 3 2 6 No saddle point! 输入提示: \ “Input matrix:\\n\输入格式: 输入矩阵大小: \输入矩阵元素: \输出格式: 找到鞍点的输出格式:\没找到鞍点的输出格式:\*/ #include int a[100][100],m; int n,i,j,k,max,flag=0,shit=0,l; printf(\ scanf(\printf(\for(i=0; i scanf(\for(i=0; i flag=0; m=a[i][0]; for(j=0; j m=a[i][j]; max=j; } for(k=0; k if(a[k][max]<=m &&k!=i) { flag=1; break; } } if(flag==0){ printf(\ } } if (shit==0) printf(\}\9.4 \ 输入一串字符(字符数小于80),以回车表示输入结束,编程计算并输出这串字符中连续重复次数最多的字符和重复次数。如果重复次数最多的字符有两个,则输出最后出现的那一个。 已知函数原型: //函数功能:统计字符串中连续重复次数最多的字符及其重复的次数 //函数参数:str指向待统计的字符串,指针形参tag返回重复字符最后出现的下标位置 //函数返回值:返回字符重复的次数 int CountRepeatStr(char str[], int *tag); 求解思路:设置一个计数器,遍历字符串中的所有字符,若str[i] == str[i+1],则计数器加1,同时判断计数器的值是否大于记录的最大重复次数max,若大于,则用计数器的值更新max,并记录该字符最后出现的位置i+1.若str[i] != str[i+1],则计数器重新初始化为1。遍历结束时,函数返回max的值。