关于在多重循环中的break的执行
如图所示? for(i = 1 ; i <=9 ; i++)
{
if(i==5)
{
//跳出外层循环
break;
}
for(j = 1; j <= 9 ; j ++)
{
//跳出内层循环,注意,是 i== 5 ,不是 i=5
if(i==5)
{
break;
}
}
} 语法要先解决 是 i == 5 这才是你需要的程序吧?
// 输出乘法口诀表
#include<stdio.h>
void main()
{
int i,j,k;
for(i = 1;i < 10;i++)
{
for(j =1;j < 10;j++)
{
if(i >= j)
{
k = i * j;
printf("%dx%d=%-3d",j,i,k); /* -3d表示左对齐,占3位 */
}
}
printf("\n");
}
} #include <iostream>
using namespace std;
int main(void)
{
for(int i=1; i<=9; i++)
{
if(i == 5)
{
cout << "i = 5, program terminates..." << endl;
break;
}
cout << "\n i = " << i << endl;
for(int j=1; j<=9; j++)
{
cout << "i * j = " << (i * j) << endl;
}
}
} 这是你自己的程序,上移一个花括号,将判断语句放到外循环中,i = 5 时就停止循环了
# include <stdio.h>
# include <stdlib.h>
int main()
{
int i,j;
for (i = 1;i <= 9;i++)
{
for (j = 1;j <= 9;j++)
{
printf("%d*%d=%2d\t",i,j,i * j);
}
if(i == 5) // 是判断,不是赋值,少一个 =
{
break;
}
}
printf ("\n");
return 0;
}
页:
[1]