C来自语言课后题,找出一个二360问答维数组中的鞍点
问题补充说明:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。给出的答案是:#include#define N 4#define M 5void main(){ int i,j,k,a[N][M],max,maxj,flag; printf("输入数组:\n"); for(i=0;imax) { max=a[i][j]; //*将本行的最大数保存在max中 maxj=j; //*将最大数所在的列号保存在maxj中 } flag=1; //*先假设是鞍点,用flag为1代表 for(k=0;ka[k][maxj]) //*将最大数和其同列元素相比 { flag=0; //*如果max不是同列最小,表示不是鞍点,令flag=0 continue; } if(flag) //*如果flag为1表示是鞍点 { printf("a[%d][%d]=%d\n",i,maxj,max); //*输出鞍点值和所在行号列号 break; } } if(!flag) //*如果flag为0表示鞍点不存在 printf("鞍数不存在!");}我想知道倒数第11行的continue起什么作用?我怎么感觉不加也可以?去掉continue,用下面两个数组测试结果没有影响1 2 3 4 52 4 6 8 103 6 9 12 154 8 12 16 201 12 3 4 52 4 16 8 103 6 9 12 154 8 12 16 20求高手解答,万谢!这里的continue我理解是跳到for(k=0;k![C来自语言课后题,找出一个二360问答维数组中的鞍点](/upload/images/2023/0321/b0825f70.jpg)
continue可以跳过后面的if语句,不但是为了省时间,而且还有防止出错的功能。
相信continue的作用你也懂,切换到循环顶部。
例如:
#include<c最刚存艺机决走械数队吃stdio>#include<cstdlib>#include<iostream>using namespace std;int main(){ int n,c=0; cin>>n; while(n>1) { n=(n%2)?n*3+1:n/2; c+及乱沉升处新+; continue; } sy江难告门不海stem("pause"); return 0;}其中continue起的是跳至while(n>1统当乡望组贵多素)这一句的作用。相信你会懂。不过跟上面的人说的一样,省时间是第一步,更重要是减少运算,减少出错的概率。你懂,运算越多美立面混你汉派区,出错概率越大。
标签:课后,鞍点