本文目錄一覽:
C語言:要求使用四重循環解決以下問題:
#include stdio.h
const int M = 4, N = 4;
const int S = 2, T = 2;
int findSubMatrix(int aim[][N],int m,int n,int model[][T],int s,int t) {
int i,j,u,v,flag;
if(m s || n t) return 0;
for(i = 0; i = m – s; ++i) {
for(j = 0; j = n – t; ++j) {
flag = 1;
for(u = 0; u s flag; ++u) {
for(v = 0; v t flag; ++v) {
flag = aim[u + i][v + j] == model[u][v];
}
}
if(flag) {
printf(“左上角:(%d,%d),右下角:(%d,%d)\n”,i,j,i + u – 1,j + v – 1);
return 1;
}
}
}
return 0;
}
int main() {
int a[M][N] = {6,8,9,3,7,4,3,6,5,2,1,7,1,3,6,8};
int b[S][T] = {2,1,3,6};
int i,j;
printf(“a[]:\n”);
for(i = 0; i M; ++i) {
for(j = 0; j N; ++j)
printf(“%3d”,a[i][j]);
printf(“\n”);
}
printf(“\n”);
printf(“b[]:\n”);
for(i = 0; i S; ++i) {
for(j = 0; j T; ++j)
printf(“%3d”,b[i][j]);
printf(“\n”);
}
printf(“\n”);
if(findSubMatrix(a,M,N,b,S,T) == 0) printf(“沒有\n”);
return 0;
}
C語言4種循環語句用法?
C語言循環語句用法有三種主要形式:
for()循環
while()循環
do
{}
while();循環
for()循環用法:
for( e1 ; e2 ; e3 ) //注意三個區域間用分號來分隔,而不是逗號!!
{
for_statements ; //多條語句用{}括起來,單條語句可以不用,建議也使用,一:代碼清楚,二:便於查錯。 其它循環也是這樣。
}
//說明:
//e1:變量初始化區,只執行一次
//e2:循環控制區,每次都要先檢查e2表達式的結果是否為真,為真則進入循環區,否則,結束循環
//e3:循環變量變化區,每次執行完for_statements ;則轉到這裡,執行e3,然後轉到e2
例:
int i;
for( i=0; i10; i++ )
{
printf(“%d “, i );
}
while()循環用法:
循環控制變量初始化
while(e)
{
while_statements ; //包括循環控制變量 變化
}
//說明:
//e 循環控制條件,e為真則進入循環區,否則,結束循環 執行完while_statements ;後轉到這裡繼續判斷
例:
int i;
i=0;
while( i10 )
{
printf(“%d “, i );
i++; //循環控制變量變化
}
do
{}
while();循環用法:
do {
do_while_statements ; //包括循環控制變量 變化
} while(e); //注意尾部有分號
//說明:
//與while()不同的是,這裡可以沒有循環變量的初始化,先進行循環語句的操作,然後,再判斷是否繼續進行,所以,這種循環,至少要執行一次do_while_statements ;而前兩種,有可能一次都不執行循環語句。
例:
int i;
do {
printf(“input number ” );
scanf(“%d”, i ); //循環控制變量 變化
printf(“%d\n”, i );
} while ( i10 );
到這裡,一定能得到一個大於10的i. 一般我們在要求輸入一個數據必須符合規定時,這樣寫代碼。
C語言循環結構有哪幾種
常見就三種:for循環,while循環,do…while循環
當然,也可以用goto做偽循環
還有用函數實現循環:
單一函數調用自己實現的循環叫做:遞歸函數,
兩個或者多個函數首尾互相調用可以實現循環算法。
c語言如何跳出多層循環
1、break語句退出循環時,它將退出離它最近的那層循環,無法退出多個循環。比如下面的代碼,定義一個兩維數組,不希望輸出第2行。
#includestdio.h
int main()
{
int a[3][3] = { {1,2,3}, //第一行
{4,5,6}, //第二行
{7,8,9} //第三行
};
for (int i=0; i!=3; ++i) {
for (int j=0; j!=3; ++j)
{
if (a[i][j] == 4) break; //進入第二行時break跳出,只跳出離它最近的for循環
printf(“%d\n”, a[i][j]);
}
}
return 0;
}
2、要退出多重循環,可以使用goto語句 。
#include stdio.h
int main()
{
for (; ; ) {
while (1)
{
goto end;
}
}
end:
printf(“跳出輪迴!\n”);
return 0;
}
c語言中的多重循環是怎麼運行的
C語言的多層循環是從最內的那個循環開始,最內的循環完成循環一次,表示它的外一層循環只步進了一次,依次類推,直到最外的那一層循環步進完成,整個多層循環就結束了。你可以參考一個二層循環的代碼的實際運行來理解這個問題,用二層循環代碼來理解就簡單多了。
原創文章,作者:BIBK,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/133480.html