C3_循环结构

来源:互联网 发布:阿里云 域名 编辑:程序博客网 时间:2024/06/03 21:05

//

//  main.m

//  C3_循环结构

//

//  Created by dllo on 15/7/2.

//  Copyright (c) 2015 Clare. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc,const char * argv[]) {

//

//    int year = 0, month = 0, day = 0;

//    scanf("%d%d%d", &year, &month, &day);

//    

//    int age = 2015 - year;

//    printf("周岁是:%d\n", age);

//    

//    switch (month) {

//        case 1:

//            if (day >= 20 && day <=31) {

//                printf("水瓶座\n");

//            } else if ( day > 0 && day < 20){

//                printf("摩羯座\n");

//            } else {

//                printf("输入日期有误\n");

//            }

//            break;

//            /*.

//             .

//             .

//             .

//             .

//             */

//        default:

//            break;

//    }

//    

//    

//    输入年月日,判断输入的日期是当年的第几天

//    int year = 0, month = 0, day = 0, date = 0;

//    scanf("%d%d%d", &year, &month, &day);

//    

//    switch (month) {

//        case 1:

//            date = day;

//            printf("这是今年的第%d\n", date);

//            break;

//        case 2:

//            date = day + 31;

//            printf("这是今年的第%d\n", date);

//            break;

//        case 3:

//            date = day + 31 + 28;

//            printf("这是今年的第%d\n", date);

//            break;

//        case 4:

//            date = day + 31 + 28 + 31;

//            printf("这是今年的第%d\n", date);

//            break;

//        case 5:

//            date = day + 31 +28 +31 +30;

//            printf("这是今年的第%d\n", date);

//            break;

//            

//        default:

//            break;

//            

//            

//            

//            switch (month - 1) {

//                case 11: // 对应的是第12个月

//                    day += 30;

//                case 10:

//                    day += 31;

//                case 9:

//                    day += 30;

//                case 8:

//                    day += 31;

//                case 7:

//                    day += 31;

//                case 6:

//                    day += 30;

//                case 5:

//                    day += 31;

//                case 4:

//                    day += 30;

//                case 3:

//                    day += 31;

//                case 2:

//                    day += 28;

//                case 1:

//                    day += 31;

//                    //switch中如果没有break程序将继续往下执行直到结束或出现break

//                    //只有过了三月份,才需要判断是否是闰年

//                    if (month >= 3) {

//                    }

//                    

//            }

//            

//            

//            

//            printf("hello lanou\n");

//            

//            

//            int i = 0;

//            while (i < 7) {

//                printf("hello lanou \n");

//                // 不要忘记i++,如果i++没有,i=0一直成立,程序将无限循环

//                i++;

//            }

//            // i可以从任意数开始但循环一般从0开始,是为了配合数组使用.并且从0开始能直接从判断条件中看出程序循环了几次.

//            

//            

//            while打印出1~100之间7的倍数。

//                int i = 1;

//            while (i < 101) {

//                if (0 == i % 7) {

//                    printf("%d\n", i);

//                    i++;

//                } else {

//                    i++;

//                }

//            }

//            

//            

//            int i = 1;

//            while ( i < 101) {

//                if (0 == i % 7) {

//                    printf("%d\n",i);

//                }

//                i++;

//            }

//            

//            

//            int i = 7;

//            while (i < 101) {

//                printf("%d\n", i);

//                i += 7;

//            }

//            

//            

//            1-100 个位数是7的数字

//            int i = 1;

//            while (i < 101) {

//                if ( 7 == i % 10 ) {

//                    printf("%d\n", i);

//                }

//                i++;

//            }

//            写变量名时最好不用缩写

//            

//            while打印出1~100之间十位为7的数。

//                int i = 1;

//            while (i < 101) {

//                if (7 == i / 10 ){

//                    printf("%d\n", i);

//                }

//                i++;

//            }

//            

//            while打印出1~100之间不是7的倍数并且不包含7的数。

//                

//                int i = 0;

//            while (i < 101) {

//                if ((0 != i %7) && (7 != i % 10) && (7 != i / 10)) {

//                    printf("%d\n", i);

//                }

//                i++;

//            }

//            

//            int i = 0;

//            while (i < 101) {

//                if (0 != i % 7 && 7 != i / 10 && 7 != i % 10){

//                    printf("%d\n", i);

//                }

//                i++;

//            }

//            

//            

//            //循环次数

//            int i = 100000000, j = 0;

//            while (i / 2 != 0) {

//                i = i / 2;

//                j++;

//                

//            }

//            printf("%d\n", j);

//            

//            

//            // 1千万多少天花完

//            int moneyCount = 10000000;

//            int day = 0;

//            while (moneyCount > 0) {

//                moneyCount /= 2;

//                day++;

//            }

//            printf("%d\n", day);

//            

//            

//            200 - 300 各位十位百位相加为12相乘为42的数有那几个

//            int i= 200, a = 0, b = 0;

//            

//            while (i <301) {

//                a = i % 10 + ( i % 100) / 10 + i / 100;

//                b = (i % 10) * (( i % 100) / 10) * (i / 100);

//                if ((12 == a ) && (42 == b)) {

//                    printf("%d\n", i);

//                }

//                i++;

//            }

//            

//            int i = 200;

//            while (i < 301) {

//                int bai = i / 100;

//                int shi = i / 10 % 10;

//                int ge = i % 10;

//                if (12 == bai + shi + ge && 42 == bai * shi * ge) {

//                    printf("%d\n", i);

//                }

//                i++;

//            }

//            

//            

//            // 随机数 0 - 40(只用对41取余),对想要0 - x的随机数只用对x + 1 取余

//            // arc4random % (b - a + 1) + a

//            int a = arc4random() % 41;

//            printf("%d\n", a);

//            

//            // 获取 77 - 123 范围的随机数

//            int a = arc4random() % (123 - 77 + 1 ) + 77;

//            printf("%d\n",a);

//            

//            

//            用户从控制台输⼊一个n,while打印n个随机数(范围为30~70),找出n个随机数中的最⼤大值

//                获取10个随机数

//                int n = 0;

//            while (n < 11) {

//                int a = arc4random() % ( 123 - 77 + 1) + 77;

//                printf("%d\n", a);

//                n++;

//            }

//            

//            

//            // 用户从控制台输入一个n,while打印n个随机数(范围为10~30)

//            // 输入想要得到的随机数个数得到相应的n个随机数

//            int enterNum = 0;

//            scanf("%d" , &enterNum);

//            // 用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数(范围为77~123),找出n个随机数中的最⼤大值

//            // 找到随机数中的最大的数

//            int i = 0;

//            int max =0;

//            while (i < enterNum) {

//                int a = arc4random() % ( 123 - 77 + 1) + 77;

//                printf("%d\n", a);

//                if (max < a ) {

//                    max = a;

//                }

//                i++;

//            }

//            printf("max=%d\n",max);

//            

//            找到随机数中的最小值

//            int i = 0;

//            int min = 123;

//            while (i < enterNum) {

//                int a = arc4random() % ( 123 - 77 + 1) + 77;

//                printf("%d\n", a);

//                if (min >  a ) {

//                    min = a;

//                }

//                i++;

//            }

//            printf("max=%d\n",min);

//            //找最小值时的初值最好不要是0,不然最小值一般都是0

//            

//            

//            

//            // break

//            int i = 0;

//            while (i < 5 ) {

//                if (i == 3) {

//                    break;

//                }

//                printf("%d\n", i);

//                i++;

//            }

//            

//            // break会终止整个循环,break后面的代码不会被执行

//            

//            int i = 0;

//            while (i < 5) {

//                i++;

//                if (i == 3) {

//                    continue;

//                }

//                printf("%d\n", i);

//                // i++; i++再此处会出现死循环

//            }

//            

//            // continue会停止当前这次循环,continue之后的代码也不会执行,但是还会继续执行接下来的循环操作,但是要注意i++的位置

//            

//            

//            // continue打印出1~100之间7的倍数

//            int i = 0;

//            while (i < 100) {

//                i++;

//                if (0 != i % 7) {

//                    continue;

//                }

//                printf("%d\n",i);

//            }

//            

//            

//            // do - while 循环,先执行后判断

//            int i = 0;

//            do {

//                printf("hello lanou\n");

//                i++;

//            } while (i > 5);

//            

//            

//            // while的区别在于while循环先判断是否满足条件,do while则会先执行一次循环内容,再判断条件是否满足,即使条件为假,也会执行一次

//            

//            

//            // for 循环

//            

//            for (int i = 0; i < 5; i++) {

//                printf("%d\n",i);

//            }

//            

//            //    int i = 0;

//            //    while (i < 5 ) {

//            //        printf("%d\n", i );

//            //        i++;

//            //    }

//            


//            

//            

//            //for打印出1~100之间7的倍数。

//            for (int i = 0 ; i < 101; i++) {

//                if (0 == i % 7) {

//                    printf("%d\n",i);

//                }

//            }

//            //for打印出1~100之间个位为7的数。

//            for (int i = 0; i < 101; i++) {

//                if (7 == i % 10) {

//                    printf("%d\n",i);

//                }

//            }

//            //for打印出1~100之间十位为7的数。

//            

//            for (int i = 0; i < 101 ; i++) {

//                if (7 == i / 10 ) {

//                    printf("%d\n",i);

//                }

//            }

//            //for打印出1~100之间不是7的倍数并且不包含7的数

//            

//            for (int i = 0; i < 101; i++) {

//                if (0 != i % 7 && 7 != i % 10 && 7 != i/10) {

//                    printf("%d\n",i);

//                }

//            }

//            

//            

//            

//            // 先打印一行1 2 3

            

//            for (int i = 1; i < 4; i++) {

//                printf(" %d",i);

//            }

//            printf("\n");

//            

//            for (int i = 0; i < 3; i++) {  // 本行控制行数

//                printf("  外部循环%d次开始\n", i);

//                for (int j = 1; j < 4; j++) { // 本行控制列数

//                    

//                    printf("  内部循环%d次开始\n",j);

//                    printf(" %d",j);

//                    printf("  内部循环%d次结束\n",j);

//                }

//                printf("  内部循环结束\n",i);

//                printf("\n");

//                printf("  外部循环%d次结束\n",i);

//            }

//            

//            外部的循环控制有多少行,内部的循环控制有多少列

//            外部循环执行1,内部循环都会从头到尾运行一遍

//            

//            // 打印31 2 3

//            for (int i = 0; i < 3; i++) {

//                for (int j = 1; j <4 ; j++) {

//                    printf("%d",j);

//                }

//                printf("\n");

//            }

//            

//            /* 打印下面内容

//             1

//             12

//             123

//             */

//            

//            for (int i = 0; i < 3; i++) {

//                for (int j = 1; j <= i + 1; j++) {

//                    printf("%d",j);

//                }

//                printf("\n");

//            }

//            

//            for (int i = 1; i <= 3; i++) {

//                for (int j = 1; j <= i; j++) {

//                    printf(" %d \n",j);

//                }

//                printf("\n");

//            }

//            

//            

//            

//            //实现乘法⼝口诀表

//            int k = 0;

//            for (int i = 1; i <= 9; i++) {

//                for (int j = 1 ; j <= 9; j++) {

//                    if (j <= i) {

//                        printf("%d*%d=%d ", i, j, k = i * j);

//                    }

//                    

//                }

//                printf("\n");

//            }

//            

//            for (int i = 0; i < 10; i++) {

//                for (int j = 1; j <= i; j++) {

//                    printf("%d*%d=%d ", j, i, j * i);

//                }

//                printf("\n");

//            }

//            

//            

//            

//            // 打印三个数字(0 - 9)的组合可能(组合成三位数)其中数字不能重复出现。

//            // 000 -999

//            int a = 0;

//            for (int i = 1;  i < 10; i++) {

//                for (int j = 0; j < 10; j++) {

//                    for (int k = 0; k < 10 ; k++) {

//                        if (i != j && i != k && j != k) {

//                            a = 100 * i + 10 * j + k;

//                            printf("%d\n",a);

//                        }

//                    }

//                }

//            }

            

//            // 000 -999

//            int a = 0;

//            for (int i = 0;  i < 10; i++) {

//                for (int j = 0; j < 10; j++) {

//                    for (int k = 0; k < 10 ; k++) {

//                        //if (i != j && i != k && j != k) {

//                        a = 100 * i + 10 * j + k;

//                        printf("%d\n",a);

//                        // }

//                    }

//                }

//            }

//            

            

//            // 打印 000 - 999,求其中某个数字的和值在整个范围内出现多少次

//            int num13 = 0, num14 = 0, num15 = 0;

//            for (int i = 0;  i < 10; i++) {

//                for (int j = 0; j < 10; j++) {

//                    for (int k = 0; k < 10 ; k++) {

//                        printf("%d%d%d ", i , j ,k);

//                        if (13 == i + j + k) {

//                            num13++;

//                        } else if (14 == i+ j + k){

//                            num14++;

//                        } else if (15 == i+ j + k){

//                            num15++;

//                        }

//                        

//                    }

//                    printf("\n");

//                }

//                printf("\n");

//            }

//            printf(" %d, %d, %d\n",num13, num14, num15);

//

//            // 输入一个和值,求出该和值在 000 - 999的范围内出先过几次

//            printf("请输入你所要查询的和值:");

//            int enterNum = 0;

//            int chackNum = 0;

//            scanf("%d", &chackNum);

//            for (int i = 0;  i < 10; i++) {

//                for (int j = 0; j < 10; j++) {

//                    for (int k = 0; k < 10 ; k++) {

//                        printf("%d%d%d ", i , j ,k);

//                        if (chackNum == i + j + k) {

//                            enterNum++;

//                        }

//                    }

//                    printf("\n");

//                }

//                printf("\n");

//            }

//            printf(" %d\n",enterNum);

//            

//

//            // 打印实心菱形

//            int n = 0;

//            // n 为手动输入的行数

//            scanf("%d", &n);

//            // 上榜菱形

//            for (int i = 1; i <= n; i++) {

//                //打印空格占位

//                for (int j = 0; j < n - i; j++) {

//                    printf(" ");

//                }

//                // 打印星号

//                for (int k = 0; k < 2 * i - 1 ; k++) {

//                    printf("*");

//                }

//                printf("\n");

//            }

//            

//            // 下半个菱形

//            

//            for (int i = 1; i < n ; i++) {

//                // 打印空格占位

//                for (int j = 0; j < i ; j++) {

//                    printf(" ");

//                }

//                // 打印星号

//                for (int k = 0; k < 2 * ( n - i ) - 1; k++) {

//                    printf("*");

//                }

//                printf("\n");

//            }

//            

            

    

//    int n = 0;

//    // n 为手动输入的行数

//    scanf("%d", &n);

//    

//    //上半空心菱形

//    for( int i = 1;i <= n;i++){  //控制行数 10

//        for(int k = n; k > i; k--){  //第一行 9空格1*   i=2  8空格 2*

//            printf("  ");

//        }

//        //i=1由第25行代码输出*

//        if(i == 1){}

//        else{

//            printf(" *");

//        }

//        //空心空格个数打印 0 2 4 6   16

//        for(int j = 1;j < 2 * i - 2; j++){

//            printf("  ");

//        }

//        printf(" *");

//        printf("\n");

//    }

//    //下空心菱形

//    for(int i = 1; i <= n-1; i++){  //去掉最长行只有9

//        //空格增多 1 2 3...9

//        for(int k = 1; k <= i; k++){

//            printf("  ");

//        }

//        //最后一行*号由代码43行执行

//        if(i == n-1){}

//        else{

//            printf(" *");

//        }

//        //空心空格个数打印 15 13 ....1   注意空格是15开始 1结束

//        for(int j = 1; j <= 2 * n - 3 - 2 * i; j++){  //i=9时候打印0个空格

//            printf("  ");

//        }

//        printf(" *"); //打印每行后出现的*

//        printf("\n"); //换行

//        

//    }

//    



    

   return 0;

}


0 0
原创粉丝点击