20150528分支结构_练习

来源:互联网 发布:山东油罐车物流软件 编辑:程序博客网 时间:2024/05/22 06:51

//

//  main.c

//  IOS150528_Exercise

//

//  Created byPeng Junlong on 15/5/28.

//  Copyright (c) 2015 Peng Junlong. All rights reserved.

//


#include <stdio.h>

#include <math.h>

#include <stdlib.h>

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

    //2

//    int x;

//    int y;

//    int z;

//    int k;

//    scanf("%d%d%d%d",&x,&y,&z,&k);

//    if(x == y && (x+y) == (z+k))

//     printf("1\n");

//    else

//        printf("0\n");

    

    //3

//    int x;

//    int y;

//    int max;

//    printf("input x and y:");

//    scanf("%d%d",&x,&y);

//    if(x > y)

//    {

//        max = x;

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

//    }

//    else

//    {

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

//    }

    

    //4

//    int x;

//    int y;

//    int z;

//    int max;

//    printf("input x and y,z:");

//    scanf("%d%d%d",&x,&y,&z);

//    if(x > y)

//    {

//        max = x;

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

//    }

//    else

//    {

//        max = y;

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

//    }

//    

//    if(max < z)

//    {

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

//    }

//    else

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

    

    //5

//    int month;

//    

//    printf("input month:");

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

//    if(month < 1 || month > 12)

//    {

//        printf("Error!!!");

//    }

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

//    {

//        printf("31\n");

//    }

//    else if(month == 2)

//    {

//        printf("28\n");

//    }

//    else

//    {

//        printf("30\n");

//    }

    

    //6

//    int x;

//    int y;

//    int result;

//    printf("input x and y:");

//    scanf("%d%d",&x,&y);

//    result = x - y;

//    result = abs(result);

////    if(x > y)

////        result = x - y;

////    else

////        result = y - x;

//    printf("x-y = %d",result);

    

    //7

//    int num = 100;

//    int bit1;

//    int bit2;

//    int bit3;

//    int temp;

//    int result;

//    printf("input num:");

//    for (num=100; num<999; num++) {

//        bit3 = num /100;

//        temp = num%100;

//        bit2 = temp/10;

//        bit1 = temp%10;

//        result = pow(bit1,3)+pow(bit2, 3)+pow(bit3, 3);

//        if(result == num)

//            printf("%d 是水仙花数\n",num);

//        else

//            printf("%d不是水仙花数\n",num);

//    }

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


    

    //8

//    int num;

//    printf("input num:");

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

//    if(num > 0)

//        printf("YES\n");

//    else

//        printf("NO");


    

//    //9

//    int num;

//    printf("input num:");

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

//    if(num % 3 == 0)

//        printf("YES\n");

//    else

//        printf("NO\n");

    

//    //10

//    int num;

//    printf("input num:");

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

//    if(num % 2 == 0)

//        printf("YES\n");

//    else

//        printf("NO\n");

    

//    //11

//    int num;

//    printf("input num:");

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

//    if(num > 0 && num < 150)

//        printf("YES\n");

//    else

//        printf("NO\n");

    

//    //12

//    int num;

//    printf("input num:");

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

//    if(num > 0 && num <= 100)

//        printf("NO\n");

//    else if(num > 100)

//        printf("YES\n");

//    else

//        printf("ERROR!\n");

    

//    //13

//    int num;

//    printf("input num:");

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

//    if(num >= 1980 && num <= 1989)

//        printf("YES\n");

//    else if(num < 0)

//        printf("ERROR\n");

//    else

//        printf("NO!\n");

    

//    //15

//    int x;

//    int y;

//    printf("input x and y:");

//    scanf("%d%d",&x,&y);

//    if(x>0 && x <10)

//    {

//        if (y >0 && y < 10) {

//            printf("YES");

//        }

//        else

//            printf("NO!\n");

//    }

//    else

//        printf("NO!\n");

    

//    //16

//    int x;

//    printf("input x :");

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

//    if(x < 0)

//    {

//        printf("%d\n",-x);

//        

//    }

//    else

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

    

//    //17

//    int x;

//    int y;

//    int max;

//    printf("input x and y:");

//    scanf("%d%d",&x,&y);

//    if(x>y)

//    {

//        max = x;

//    }

//    else

//        max = y;

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

    

    //18

//    char level;

//    

//    printf("input level:");

//    scanf("%c",&level);

//

//    switch (level) {

//        case 'A':

//            printf("成绩在90100\n");

//            break;

//        case 'B':

//            printf("成绩在8099\n");

//            break;

//        case 'C':

//            printf("成绩在7079\n");

//            break;

//        case 'D':

//            printf("成绩在6069\n");

//            break;

//        case 'E':

//            printf("成绩在059\n");

//            break;

//        default:

//            printf("ERROR");

//            break;

//    }

    

    //19

//    int x;

//    int y;

//    printf("input x :");

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

//    if(x<0)

//    {

//        y = x*x;

//    }

//    else if (x >= 0 && x < 5)

//    {

//        y = 2*x+1;

//    }

//    else

//    {

//        y = 3*x-12;

//    }

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

    

//    //20

//    int x;

//    printf("input x :");

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

//    if(x > 9999 && x < 100000)

//    {

//        printf("YES\n");

//    }

//    else

//    {

//        printf("NO\n");

//    }

    

    

    //21

//    int x;

//    printf("input x :");

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

//    x/=100;

//    x%=10;

//    if(x == 3)

//    {

//        printf("YES\n");

//    }

//    else

//    {

//        printf("NO\n");

//    }


    

    //22

//    int h;

//    int m;

//    int s;

//    printf("input h:m:s :");

//    scanf("%d:%d:%d",&h,&m,&s);

//    if(s == 59)

//    {

//        if(m == 59)

//        {

//            if(h == 23)

//            {

//                h = 0;

//                m = 0;

//                s = 0;

//            }

//            else

//            {

//                h++;

//                m = 0;

//                s = 0;

//            }

//        }

//        else

//        {

//            m++;

//            s = 0;

//        }

//    }

//    else{

//        s++;

//    }

//    printf("Next second is:%d:%d:%d\n",h,m,s);

    

    

    //23

//    int h;

//    int m;

//    int s;

//    int temp;

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

//    scanf("%d%d%d",&h,&m,&s);

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

//        if(h>m)

//        {

//            temp = h;

//            h = m ;

//            m = temp;

//        }

//        if(m > s)

//        {

//            temp = m;

//            m = s;

//            s = temp;

//        }

//    }

//    printf("%5d%5d%5d\n",h,m,s);

    

    //24

//    char ch;

//    printf("input a char:");

//    scanf("%c",&ch);

//    if(ch >= 'A' && ch <= 'Z')

//    {

//        ch = ch+('a'-'A');

//    }

//    else if(ch >= 'a' && ch <= 'z')

//    {

//        ch = ch-('a'-'A');

//    }

//    else

//    {

//        printf("ERROR!\n");

//        return 0;

//    }

//    printf("%c\n",ch);

//    return 0;

//}


//*****************

//*     循环练习    *

//*****************


////1

//int main(int arg,const char *argv[])

//{

//    int num;

//    printf("intput a num:");

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

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

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

//    }

//    return 0;

//}


////2

//int main(int arg,const char *argv[])

//{

//    int num;

//    int mul = 1;

//    printf("intput a num:");

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

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

//        mul*=i;

//

//    }

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

//    return 0;

//}


//9

//输出数字序列 123581321...,输出个数由键盘输入。注意输入使用scanf输入

//

//比如:

//输入 3输出为

//1

//2

//3

//输入 4 输出为

//1

//2

//3

//5

//int main(int arg,const char *argv[])

//{

//    int num;

//    int a = 1;

//    int b = 1;

//    int c = 1;

//    printf("intput a num:");

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

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

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

//        c = a+b;

//        a = b;

//        b = c;

//    }

//

//    return 0;

//}


//10 斐波那契

//输出数字序列2/13/25/38/513/821/13...,输出个数由键盘输入。注意输入使用scanf输入 feibonaqi

//

//比如:

//输入 3输出为

//2/1

//3/2

//5/3

//输入 4 输出为

//2/1

//3/2

//5/3

//8/5


//int main(int arg,const char *argv[])

//{

//    int num;

//    int a = 2;

//    int b = 1;

//    int temp;

//    printf("intput a num:");

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

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

//        printf("%d/%d    ",a,b);

//        temp = a;

//        a+=b;

//        b = temp;

//    }

//    return 0;

//}



//11

//int main(int arg,const char *argv[])

//{

//    int num;

//    int muil = 0;

//    int temp;

//    printf("intput a num:");

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

//    temp = num;

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

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

//        muil+= num;

//        num = num*10+temp;

//    }

//    printf("\n");

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

//    return 0;

//}


//12

//int main(int arg,const char *argv[])

//{

//    int year;

//    int month;

//    int day;

//    int days = 0;

//    printf("input year month day:");

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

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

//        switch (i) {

//            case 1:

//            case 3:

//            case 5:

//            case 7:

//            case 8:

//            case 10:

//            case 12:

//                days+=31;

//                break;

//            case 4:

//            case 6:

//            case 9:

//            case 11:

//                days+=30;

//                break;

//            case 2:

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

//                    days+=29;

//                else

//                    days+=28;

//                break;

//            default:

//                break;

//        }

//    }

//    printf("Days = %d\n",days+=day);

//    return 0;

//}


//13

//一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第

//10 次落地时,共经过多少米?

//int main(int arg,const char *argv[])

//{

//    float h;

//    float dis;

//    printf("intput a h:");

//    scanf("%f",&h);

//    dis = h;

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

//        h /= 2;

//        dis += 2*h;

//    }

//    printf("Distance = %f\n",dis);

//

//    return 0;

//}


//14 求最大公约数 //求最小公倍数?

//辗转相除法

//1c = a%b;

//2)若c = 0;b是最大公约数;

//3)否则a = b; b = c;继续(1


//int main(int arg,const char *argv[])

//{

//    int num1;

//    int num2;

//    int maxCom;

//    int minCom;

//    int temp = 1;

//    printf("intput num1 num2:");

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

//    int num11 = num1;

//    int num22 = num2;

//    

//        while (temp) {

//            temp = num1 % num2;

//            num1 = num2;

//            num2 = temp;

//        }

//       maxCom = num1;

//    minCom = (num11*num22)/maxCom;

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

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

//    

//    return 0;

//}


//15 输入两个分数,输出两分数之和(要求约分)

//输入 3/5 7/8

//输出:

//59/40

//输入:2/8 5/12

//输出:

//2/3

//int main(int arg,const char *argv[])

//{

//    int num01;

//    int num02;

//    int num1;

//    int num2;

//    int maxCom;

//    int minCom;

//    int temp = 1;

//    int sum;

//    printf("输入两个分数:");

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

//    int num11 = num1;

//    int num22 = num2;

//    if(!(num1%num2))

//    {

//        minCom = num1;

//        maxCom = num2;

//    }

//    else if (!(num2%num1))

//    {

//        minCom = num2;

//        maxCom = num1;

//    }

//    else

//    {

//        if(num1 < num2)

//        {

//            temp = num1;

//            num1 = num2;

//            num2 = temp;

//        }

//        

//        while (temp) {

//            temp = num1 % num2;

//            num1 = num2;

//            num2 = temp;

//        }

//        maxCom = num1;

//    }

//    minCom = (num11*num22)/maxCom;

//    sum = (minCom/num11)*num01+(minCom/num22)*num02;

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

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

//    printf("%d/%d\n",sum/maxCom,minCom/maxCom);

//    return 0;

//}


//16 输入n(int类型),打印1+2+3+4+5+。。。+n!的值

//int main(int arg, const char *argv[])

//{

//    int n ;

//    int muil = 1;

//    int sum = 0;

//    printf("Input n:");

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

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

//        muil*=i;

//        sum += muil;

//    }

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

//    return 0;

//}


//17 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数

//int main(int arg,const char *argv[])

//{

//    char ch;

//    int charac_int = 0;

//    int space_int = 0;

//    int number_int = 0;

//    int other_int = 0;

//    printf("Input a String:");

//    while (scanf("%c",&ch),ch != '\n') {

//        if((ch >='a' && ch <='z') ||(ch >= 'A' && ch <='Z'))

//            charac_int ++;

//        else if (ch == ' ')

//            space_int++;

//        else if (ch >= '0' && ch <= '9')

//            number_int++;

//        else

//            other_int++;

//    }

//    printf("charac_int = %d,space_int = %d,number_int = %d,other_int = %d\n",charac_int,space_int,number_int,other_int);

//    return 0;

//}


//18 输入一个整数n, 输出nn列每个字符为*的矩阵

//int main(int arg,const char *argv[])

//{

//    int n;

//    printf("Input a number:");

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

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

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

//            printf("* ");

//        }

//        printf("\n");

//    }

//    return 0;

//}


//18  循环(输出图案)打印以下图案该图案的行数由输入的数n来控制

//

//A

//AA

//AAA


//int main(int arg , const char *argv[])

//{

//    int n;

//    printf("intput a n:");

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

//    for (int level = 0; level < n; level ++) {

//        for (int cntA = 0; cntA <= level; cntA++) {

//            printf("A");

//        }

//        printf("\n");

//    }

//    return 0;

//}


//19

//      *

//     ***

//    *****

//   *******


//int main(int arg , const char * argv[])

//{

//    int levelCnt;

//    printf("Input level count:");

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

//    for (int leve = 1; leve <= levelCnt; leve++) {

//        

//        for (int spac = 1; spac <= levelCnt-leve; spac++) {

//            printf(" ");

//        }

//        for (int spark = 1; spark <= 2*leve-1; spark++) {

//            printf("*");

//        }

//        printf("\n");

//    }

//    return 0;

//}


//20

//输入 5 2输出为

//  2

//  22

//  222

//  2222

//  22222


//int main(int arg,const char *argv[])

//{

//    int lineNum;

//    int num;

//    int muil = 0;

//    int temp;

//    printf("intput a lineNum and num:");

//    scanf("%d%d",&lineNum,&num);

//    temp = num;

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

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

//        muil+= num;

//        num = num*10+temp;

//    }

//    return 0;

//}


//21

//在屏幕上输出以下内容:

//  12345

//  1234

//  123

//  12

//  1


//int main(int arg,const char *argv[])

//{

//    int num;

//    printf("intput a num:");

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

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

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

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

//        }

//        printf("\n");

//    }

//    return 0;

//}


//22

//将一个正整数分解质因数(for 循环)。例如:输入90,打印出90=2*3*3*5


//int main(int arg,const char *argv[])

//{

//    int num;

//    int res = 2;

//    printf("intput a num:");

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

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

//    while (num != 1) {

//        if (num % res == 0) {

//            if( num == res)

//            {

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

//            }

//            else

//                printf("%d*",res);

//            num/=res;

//        }

//        else

//            res++;

//        

//    }

//    return 0;

//}


int main(int arg,const char *argv[])

{

    int res = 2;

    int n;

    scanf("%d",&n);

    printf("%d=",n);

    for (; n !=1; ) {

        if(n%res == 0)

        {

            if(n == res)

                printf("%d",res);

            else

                printf("%d*",res);

            n/=res;

        }

        else

        {

            res++;

        }

    }

    return 0;

}


//25

//输入:F

//

//输出:

//

//         FEDCBA

//          EDCBAB

//           DCBABC

//            CBABCD

//             BABCDE

//              ABCDEF


//int main(int arg,const char *argv[])

//{

//    char ch;

//    printf("Input a char:");

//    scanf("%c",&ch);

//    for (int i=0; i<ch-'A'+1; i++) {

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

//            printf(" ");

//        }

//        for (int j=0; j<ch-'A'+1-i; j++) {

//            printf("%c",ch-j-i);

//        }

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

//            printf("%c",'A'+j+1);

//        }

//        printf("\n");

//    }

//}


//26. 输入一个大写字符,如F

//比如:

//输入:F

//输出:

//FEDCBA

//EDCBAB

//DCBABC

//CBABCD

//BABCDE

//ABCDEF


//int main(int arg,const char *argv[])

//{

//    char ch;

//    printf("Input a char:");

//    scanf("%c",&ch);

//    for (int i=0; i<ch-'A'+1; i++) {

//        for (int j=0; j<ch-'A'+1-i; j++) {

//            printf("%c",ch-j-i);

//        }

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

//            printf("%c",'A'+j+1);

//        }

//        printf("\n");

//    }

//}


//27

//输入:F

//输出:

//A

//ABA

//ABCBA

//ABCDCBA

//ABCDEDCBA

//ABCDEFEDCBA


//int main(int arg,const char *argv[])

//{

//    char ch;

//    printf("Input a char:");

//    scanf("%c",&ch);

//    for (int i=0; i<ch-'A'+1; i++) {

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

//            printf("%c",'A'+j);

//        }

//        for (int j=i; j>0; j--) {

//            printf("%c",'A'+j-1);

//        }

//        printf("\n");

//    }

//}


//28. 输入一个自然数n, 统计 n! 末尾有多少个0?

//n!0的个数就是5的个数,10!= 2*5*9*8*7*6*5*4*3*2*1

//int main(int arg,const char *argv[])

//{

//    int n;

//    int count=0;

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

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

//        int temp = i;

//        while (!(temp%5)) {

//            count++;

//            temp/=5;

//        }

//    }

//    printf("count = %d",count);

//}


//29. 编写程序,找到1000以内的所有完数”,所谓完数是指一个数是其所有因子之和 : 6 = 1+2+3;  6 28 496


//int main(int arg ,const char *argv[])

//{

//    int n = 1000;

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

//        int sum = 0;

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

//        {

//            if (i%j == 0)

//            {

//                sum += j;

//            }

//        }

//        if(sum == i)

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

//    }

//    return 0;

//}

0 0