Day4_c语言_循环结构练习

来源:互联网 发布:美国有没有死刑知乎 编辑:程序博客网 时间:2024/05/17 05:16

//

//  main.m

//  Day4_循环_王佳兴

//

//  Created by 王佳兴 on 14-10-16.

//  Copyright (c) 2014 lanou3g.com蓝鸥科技. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc,constchar * argv[]) {

//1.(**)随机产生20[10 , 100]的正整数,输出这些数以及他们中的最大数

//    int i, num, max = 0;

//    for(i = 0; i < 19; i++){

//       num = arc4random() % (100 - 10 + 1) + 10;

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

//        if (num >= max) {

//            max = num;

//        }

//    }

//    printf("The maxnumber is %d\n",max);



//2.(**)编程将所有水仙花数打印出来,并打印其总个数。水仙花数是一个各个位立方之和等于该整数的三位数

//    int a100, a10, a1, a = 100;

//    while (a < 1000) {

//        a100 = a / 100;

//        a10 = a % 100 / 10;

//        a1 = a % 10;

//        if(a == a100 * a100 * a100 + a10 * a10 * a10 + a1 * a1 * a1) {

//        printf("水仙花数是:%d", a);

//        }

//            a++;

//    }



//3.(**)已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的 a,b,c所有组合

//    int a, b, c;

//    for (a = 1; a < 10; a++) {

//        for (b = 0; b < 10; b++) {

//            for (c = 1; c < 10; c++) {

//                int abc = a * 100 + b * 10 + c;

//                int cba = c * 100 + b * 10 + a;

//                if (abc + cba == 1333){

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

//                }

//            }

//        }

//    }



//4. (***)输入两个数,求最大公约数和最小公倍数。(用两种方法:辗转相除法和普通方法)

//    //第一种方法:普通方法

//    printf("input two numbers:");

//    int num1, num2, a = 1,b;

//    scanf("%d%d", &num1, &num2);

//    while (a) {

//        if (a * num1 % num2 == 0) {

//            printf("最小公倍数是:%d\n", num1 * a);

//            break;

//        }

//        a++;

//    }

//    if (num1 > num2) {

//        b = num2;

//    }else{

//        b = num1;

//    }

//    while (b) {

//        if (num1 % b == 0 && num2 % b == 0) {

//            printf("最大公约数是:%d\n",b);

//            break;

//        }

//        b--;

//    }

    

//    //第二种方法:辗转相除

//    printf("input two numbers:");

//    int a, b, c, num1, num2;

//    scanf("%d%d", &num1, &num2);

//    a = num1;

//    b = num2;

//    c = num1 % num2;

//    while(c != 0)

//    {

//        num1 = num2;

//        num2 = c;

//        c = num1 % num2;

//    }

//    printf("最大公约数是:%d\n", num2);

//    printf("最小公倍数是:%d\n", a * b / num2);

    


//5. (***)一个球从100m高度自由落下,每次落地后反跳回原来高度的一,再落下,再反弹。求它在第 10次落地时,共经过多少米? 10次反弹多高

    

//    int i = 0;//i为落地次数和反弹次数 a为输入次数

//    float high = 100;//反弹高度

//    distance += high;//经过总距离

//    while (i < 10) {

//        high = high / 2;

//        distance += high * 2;

//        i++;

//    }

//    printf("high is %f, distance is %f", high, distance);

    

    

//    float sum=0;

//    int i=0;

//    float height=100;

//    sum+=height;

//    while(i<2)

//    {

//        height=height/2;

//        sum+=2*height;

//        i++;

//    }

//    printf("总长度:%f 10次跳%f",sum,height);


    

//6. (****)输入 n,分别用*输出边长为 n的实心菱形和空心菱形。

//    例如:n = 3 ,输出:

//      *

//     ***

//    *****

//     ***

//      *

//      *

//     * *

//    *   *

//     * *

//      *

//    printf("请输入边长:");

//    int n, i, j, k;

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

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

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

//            printf(" ");

//        }

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

//            printf("*");

//        }

//        printf("\n");

//    }

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

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

//            printf(" ");

//        }

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

//            printf("*");

//        }

//        printf("\n");

//    }

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

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

//            printf(" ");

//        }

//        printf("*");

//        if (i >= 2) {

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

//                printf(" ");

//            }

//            printf("*");

//        }

//        printf("\n");

//    }

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

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

//            printf(" ");

//        }

//        printf("*");

//        if (i < n - 1) {

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

//                printf(" ");

//            }

//

//            printf("*");

//        }

//        printf("\n");

//    }




//7.(****)反复校验用户输入的生日,包括年、月、日。直到年、月、日都合法

//    int year, month, date;

//    start:

//    printf("请输入您的生日:");

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

//    if (year >= 1930 && year <= 2014) {

//        if (month >= 1 && month <= 12) {

//            if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {

//                if (date >= 1 && date <= 31) {

//                    printf("合法!\n");

//                }else{

//                    printf("日期不合法!\n");

//                    goto start;

//                }

//            }

//            if(month == 4 || month == 6 || month == 9 || month == 11){

//                if (date >= 1 && date <= 30) {

//                    printf("合法!\n");

//                }else{

//                    printf("日期不合法!\n");

//                    goto start;

//                }

//            }

//            if (month == 2) {

//                if (year % 400 == 0 || (year % 4 == 0 && year % 100 !=     0)) {

//                    if (date >= 1 && date <= 29) {

//                        printf("合法!\n");

//                    }else{

//                        printf("日期不合法!\n");

//                        goto start;

//                    }

//                }else{

//                    if (date >= 1 && date <= 28) {

//                        printf("合法!\n");

//                    }else{

//                        printf("日期不合法!\n");

//                        goto start;

//                    }

//                }

//            }

//        }else{

//            printf("月份不合法!\n");

//            goto start;

//        }

//    }else{

//        printf("年份不合法!\n");

//        goto start;

//    }

   return0;

}

    











0 0
原创粉丝点击