在c语言中,if,switch,for,while,do-while可以相互间多次嵌套。
if(){
for()
{
for()
{
}
}
}
while()
{
for(){
}
for(){
}
}
break,continue只跳出当前循环,不会影响外重循环,不会因为内重循环跳出整个循环体,只影响与自己最近的一个循环。
for()
{
for()
{
break;
}
}
#include "stdio.h"
void main()
{
int i,j;
for(i=1;i<=2;i++)
{
printf("---------------\n");
for(j=1;j<=3;j++)
{
printf("****************\n");
}
printf("---------------\n\n");
}
}
#include "stdio.h"
void main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=5;j++)
{
printf("*");
}
printf("\n");
}
}
*
**
***
****
*****
99乘法表
#include "stdio.h"
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%dx%d=%d ",j,i,j*i);
}
printf("\n");
}
}
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(j=1;j<=5;j++)
{
printf("*");
}
for(j=1;j<=5;j++)
{
printf("@");
}
printf("\n");
}
}
等腰三角形
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(k=1;k<=5-i;k++)
{
printf(" ");
}
for(j=1;j<=2*i-1;j++)
{
printf("*");
}
printf("\n");
}
}
/*
1 1 4
2 3 3
3 5 2
4 7 1
5 9 0
*/
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(k=1;k<=i-1;k++)
{
printf(" ");
}
for(j=1;j<=11-2*i;j++)
{
printf("*");
}
printf("\n");
}
}
/*
1 1 4 0 9 11-2*i
2 3 3 1 7 11-4
3 5 2 2 5 11-6
4 7 1 3 3 11-8
5 9 0 4 1 11-10
*********
*******
*****
***
*
*/
百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
公鸡 x 0-100/5
母鸡 y 0-100/3
小鸡 z 0-100*3
5*x+3*y+z/3==100&&z%3==0
x+y+z==100
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int x,y,z;
for(x=0;x<=100/5;x++)
for(y=0;y<=100/3;y++)
for(z=0;z<=100*3;z++)
{
if((x*5+y*3+z/3==100)&&(z%3==0)&&(x+y+z==100))
{
printf("x=%d y=%d z=%d\n",x,y,z);
}
}
}
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
//0-9
//XYZ
int x,y,z;
for(x=0;x<=3;x++)
{
for(y=0;y<=3;y++)
{
for(z=0;z<=3;z++)
{
printf("\n%d%d%d",x,y,z);
}
}
printf("\n");
}
}
/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
void main()
{
int i=1,j,k,r=5; //r表示行数
for(i=-1*r;i<=r;i++){
for(k=1;k<=abs(i);k++)
{
printf(" ");
}
for(j=1;j<=(2*r+1)-2*abs(i);j++)
{
printf("*");
}
printf("\n");
}
}
/*
-4 -3 -2 -1 0 1 2 3 4
*/
/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
//定义一个输出函数,用于重复向屏幕输出信息
//c表示参数,要输入的字符
//n表示重复次数
void out(char c,int n)
{
int i;
for(i=1;i<=n;i++)
{
printf("%c",c);
}
}
void main()
{
int i=1,j,k,r=10;
for(i=-1*r;i<=r;i++){
out(' ',abs(i));
out('*',(2*r+1)-2*abs(i));
printf("\n");
}
}
/*
-4 -3 -2 -1 0 1 2 3 4
*/
#include "stdio.h"
#include <math.h>
void main()
{
int i=1,j,k,r=8; //r表示行数
for(i=-1*r;i<=r;i++){ //控制行数
for(k=1;k<=abs(i);k++) //控制空格
{
printf(" ");
}
for(j=1;j<=(2*r+1)-2*abs(i);j++) //控制星号与中间的空格
{
//如果是第一列或最后一列
if(j==1||j==((2*r+1)-2*abs(i)))
{
printf("*");
}else{
printf(" ");
}
}
printf("\n");
}
}