一:while|循环
//while
//课上练习:跑圈循环
// int count=1;
// while(count<=10){
// printf("跑圈\t");
// count++;
// }
// printf("%d",count);
//练习1:⽤用while打印出1~100之间7的倍数
// int i=1;
// while(i<=100){
// if(i%7==0){
// printf("%d\t",i);
// }
// i++;
// }
// printf("\n");
//⽤用while打印出1~100之间个位上7的倍数
// int i=1;
// while (i<100) {
// if(i%10==7){
// printf("%d\n",i);
// }
// i++;
// }
//⽤用while打印出1~100之间十位为7的数
// int i=1;
// while(i<100){
// if((i/10)%10==7){//i/10就可以把十位上的数变成个位上的数,这个针对于1270,270,1778899870,等对位数都是用,因为除10后变成个位,再变成个位上对7求余数==0,就可以了!比简单的i/10要好。
// printf("%d\n",i);
// }
// i++;
// }
//⽤用while打印出1~100之间不是7的倍数!(i%7==0)并且&&不包含7的数!(i%10==7&&(i/10)%10==7)
// int i=0;
// while (i<100) {
// if((i%7!=0)&&((i%10)!=7)&&((i/10)%10!=7)){
// printf("%d ",i);
// }
// i++;
// }
printf("\n");
// //随机数,函数:arc4random()返回一个随机数,如果范围是【a,b】,公式为arc4random()%(b-a+1)+a
// //课上练习:
// int number=arc4random();//arc4random()就是一个随机产生的数。不适用于负数,但如果要一定
// printf("%d",number);
//练习2:⽤用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数(范围为10~30)
// int n;
// printf("请输入一个n值:");
// scanf("%d",&n);
// int j=0;
// while(j<n){
// int a=arc4random()%(30-10+1)+10;
// printf("%d ",a);
// j++;
// }
// printf("\n");
//⽤用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数(范围为30~70),找出n个随机数中的最⼤大值
// int n;
// printf("请输入一个n值:");
// scanf("%d",&n);
// int j=0;
// int max=0;
// while(j<n){
// int a=arc4random()%(70-30+1)+30;
// printf("%d ",a);
// if(a>max){
// max=a;
// }
//
// j++;
// }
// printf("max:%d",max);
// printf("\n");
注意break和continue的区别
//break在switch是跳出整个switch语句,在循环中是跳出本层循环
//如:
// int number=1;
// while(number <100){
// if(number%7==0){
// printf("%d\n",number);
break;//跳出本次循环,则只会输出一个位数是7的值:7
continue;//错误位置:结束本次循环,继续下次循环,那么执行到continue;语句就 不用再执行number++;语句,因此一直打印7
// }
// number ++;
// continue;//正确的位置,但是没什么意义。
// }
// //continue结束本次循环,到下一次循环中
二:do...while循环(少用)
三:for循环
//for循环
//课上练习
// int i;
// for(i=1;i<101;i++){
// printf("%d ",i);
// }
//练习3:⽤用for打印出1~100之间7的倍数
// for(int i=1;i<=100;i++){//int在里面定义更加好,因为在外面定义,多个函数共存时,int i;就变成是全局变量,不能共存报错,但在里面就是局部变量,更好
// if(i%7==0){
// printf("%d ",i);
// }
// }
// //用for打印出1~100之间个位为7的数
// for( int i=1;i<100;i++){
// if(i%10==7){
// printf("%d ",i);
// }
// }
// //用for打印出1~100之间十位为7的倍数
// for(int i=1;i<100;i++){
// if(i/10==7){
// printf("%d ",i);
// }
// }
// //用for打印1~100之间不是7的倍数并且不包含7的数
// for(int i=1;i<100;i++){
// if(!(i%7==0)&&!(i%10==7||i/10==7)){
// printf("%d ",i);
// }
// }
//
//打印三个数字(0~9)的组合可能(组合成三位数,类似,四位数,则四层for循环嵌套就可以了)
int count;
for(int i=1;i<=9;i++){//百位数
for( int j=0;j<=9;j++){//十位数
for(int k=0;k<=9;k++){//各位数
// printf("%d%d%d\t",i,j,k);
printf("%d\t",i*100+j*10+k);//这种显示输出方法更好
count++;//用于统计个数
}
printf("\n");
}
}
printf("输出个数是:%d\n",count);
// printf("金字塔的123,打印3行");
// for(int i=1;i<4;i++){
// for(int j=1;j<=i;j++){//金字塔的关键
// printf("%d ",j);
// }
// printf("\n");
// }
// printf("横行的123,打印3行");
// for(int i=1;i<4;i++){//打印3次里面的for循环
// for(int j=1;j<4;j++){//输出横向的123
// printf("%d ",j);
// }
// printf("\n");
// }
// printf("打印9*9口诀法\n");
// for(int i=1;i<=9;i++){
// for(int j=1;j<=i;j++){//金字塔的关键
// printf("%d*%d=%-4d ",i,j,i*j);//%-4d左对齐4位,数字只是表示各式子之间空格的多少,负号是表示左对齐
// }
// printf("\n");
// }