continue是用于節(jié)約時(shí)間的。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的西工網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
當(dāng)發(fā)現(xiàn)當(dāng)前的max的值比該列某個(gè)值大(于是可以確定這個(gè)值不是該列最小,即不可能是鞍點(diǎn)),就不必再檢查該列的其他值了。
當(dāng)然,檢查了也無(wú)所謂,反正已經(jīng)變成0的flag是不可能恢復(fù)成1的,所以是無(wú)效操作。
#include?"stdafx.h"
#includestdio.h
void?main(){?
int?i,j,a[4][5];
int?k,g,min,max;
for(i=0;i4;i++)
for(j=0;j5;j++)
scanf("%d",a[i][j]);
for(i=0;i4;i++){
max=a[i][0];
for(j=1;j5;j++)
if(a[i][j]max)?
{max=a[i][j];
k=j;
}
}
for(i=1;i4;i++){
min=a[0][k];
if(a[i][k]min)?
min=a[i][k];
}
if(max==min)?
printf("andian?is?%d",max);
else?
printf("no?andian");
}
已經(jīng)編譯通過(guò)。你的錯(cuò)誤是:
①if(max==min)其中為==并不是=;
②最后少一個(gè)大括號(hào),否則程序不完整,無(wú)法結(jié)束。
#includelt;stdio.hgt;
#define N 3
#define M 4
int main()
{
int i,j,k,max,min;
int array[N][M];
printf("請(qǐng)輸入數(shù)組元素:\n");
for(i=0;ilt;N;i++)
{
for(j=0;jlt;M;j++)
scanf("%d",arraylt;igt;[j]);
}
printf("數(shù)組有:\n");
for(i=0;ilt;N;i++)
{
for(j=0;jlt;M;j++)
printf("%-5d\t",arraylt;igt;[j]);
printf("\n");
}
for(i=0;ilt;N;i++)
{
max=arraylt;igt;[0];//用列來(lái)進(jìn)行當(dāng)前行來(lái)比較
for(j=0;jlt;M;j++)
{
if(maxlt;arraylt;igt;[j])
max=arraylt;igt;[j];
k=j;//記錄下當(dāng)前一行中最大的小標(biāo)
}
min=array[0][k];
for(j=0;jlt;N;j++)//用行來(lái)進(jìn)行列比較
{
if(mingt;arraylt;igt;[k])//若在該列中有更小的,則賦值與min
min=arraylt;igt;[k];
}
if(min==max)
{
printf("小標(biāo)為%d,%d,鞍點(diǎn)為:%d",i+1,k,max);
}
}
printf("搜索結(jié)束\n");
return;
}
擴(kuò)展資料:
define作用
被定義為“宏”的標(biāo)識(shí)符稱為“宏名”。在編譯預(yù)處理時(shí),對(duì)程序中所有出現(xiàn)的“宏名”,都用宏定義中的字符串去代換,這稱為“宏代換”或“宏展開(kāi)”。宏定義是由源程序中的宏定義命令完成的。宏代換是由預(yù)處理程序自動(dòng)完成的。
宏定義的作用范圍僅限于當(dāng)前文件,即file1.c中定義#define PI 3.14,在file2.c中該宏定義不起作用;
通過(guò)將#define PI 3.14定義在common.h中,file1.c和file2.c分別#include"common.h"的方式,該宏定義在file1.c和file2.c中都起作用。
在C或C++語(yǔ)言中,“宏”分為有參數(shù)和無(wú)參數(shù)兩種。
參考資料:
百度百科——define(計(jì)算機(jī)專業(yè)用語(yǔ))
#includestdio.h
#define?N?3
#define?M?4
int?main()?{??
int?a[N][M],max,min,i,j,m,n;
printf("請(qǐng)輸入數(shù)組:\n");
for(i?=?0;i??N;i++)
for(j?=?0;j??M;j++)
scanf("%d",a[i][j]);
for(i?=?0;i??N;i++)?{
for(j?=?0;j??M;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for(i?=?0;i??N;i++)?{
max?=?a[i][0];?//?max被賦予本行中的第一個(gè)值
for(j?=?0;j??M;j++)?{
if(max??a[i][j])?{
max?=?a[i][j];
m?=?j;
}
}
min?=?a[0][m];?//?min被賦予0行m列的值
for(j?=?0;j??N;j++)?{?//?不應(yīng)該使用i作為循環(huán)變量
if(min??a[j][m])?{
min?=?a[j][m];
n?=?j;
}
}
if(min?==?max)?printf("鞍點(diǎn)為:a[%d][%d]?=?%d\n",m,n,max);
}
printf("搜索結(jié)束\n");
return?0;
}
#includestdio.h
int main()
{
int a[4][4]={{2,3,9,5},{6,7,8,3},{0,5,7,5},{2,1,8,3}};
int i,j,k,i0,j0,find=0;
printf("數(shù)組a:\n");
for(i=0;i4;i++)
{
for(j=0;j4;j++)
printf("%3d",a[i][j]);
printf("\n");
}
for(i=0;i4;i++)????????//窮舉所有的行
{
j0=0;
for(j=1;j4;j++)
if(a[i][j]a[i][j0])j0=j;????//找到第i行上最大的數(shù)a[i][j0]
k=1;
for(i0=0;i04;i0++)????//對(duì)找到的該數(shù)窮舉所有行
if(a[i0][j0]a[i][j0])k=0;????//如它不是本列上最小的數(shù)就“一票否決”
if(k)????//若確認(rèn)是,就輸出,并記錄已找到
{
printf("鞍點(diǎn)是:a[%d][%d]=%d\n",i,j0,a[i][j0]);
find=1;
}
}
if(!find)????//若未找到,則輸出提示信息
printf("此數(shù)組無(wú)鞍點(diǎn)!\n");
return 0;
}