美文网首页C语言
2021-03-25(switch while do while

2021-03-25(switch while do while

作者: 张轻舟 | 来源:发表于2021-03-25 10:03 被阅读0次

    -#include<stdio.h>
    int main()
    {
    int x;
    scanf("%d %d",&x);
    switch(x)
    {
    case 1: printf("one\n") ;break;
    case 2: printf("two\n") ;break;
    case 3: printf("three\n") ;break;
    //.....
    default:printf("other\n");break;
    }
    return 0;
    }


    对于中国人来说,一年十二个月中,每个月份属于春夏秋天哪个季节,要看24节气来区分,如立春立夏立秋立冬等,但通常人们习惯上以每年的十二月、一月、二月做为冬天,三月四月五月为春天,六月七月八月为夏天,九月十月十一月为秋天,那么现在要求你写一个程序,根据输入的月份(1~12)来判断是哪个季节,并用英文输出


        int x;
            scanf("%d",&x);
        switch(x)
    {
            case  1:  ;
            case  2: printf("Winter\n") ;break;
            case  3:  ;
            case  4:  ;
            case  5: printf("Spring\n") ;break;
            case  6:  ;
            case  7:  ;
            case  8: printf("Summer\n") ;break;
            case  9:  ;
            case  10: ;
            case  11: printf("Autumn\n") ;break;
            case  12: printf("Winter\n") ;break;
    
              default:printf("erro\n");break;
    
    }
                return 0;
    

    输入一个数字06,输出对应的星期,比如输入0,输出Sunday,16分别是周一到周六

    用英文输出哦!

    如果不是0~6的数字,提示:input error!


            int x;
            scanf("%d",&x);
        switch(x)
    {   case  0: printf("Sunday\n") ;break;
            case  1: printf("Monday\n") ;break;
            case  2: printf("Thesday\n") ;break;
            case  3: printf("Wednesday\n") ;break;
            case  4: printf("Thursday\n") ;break;
            case  5: printf("Friday\n") ;break;
            case  6: printf("Saturday\n") ;break;
             default:printf("input error!\n");break;
    
    }
                return 0;
    

    完成一个简单的计算器,可以实现两个数字的加、减、乘、除、取余五种运算


    #include<stdio.h>
    int main()
    {
    int x,y;
     char a;
     scanf("%d%c%d",&x,&a,&y);
     switch(a)
     {
      case '+' : printf("%d\n",x+y); break;
      case '-' : printf("%d\n",x-y); break;
      case '*' : printf("%d\n",x*y); break;
      case '/' : printf("%d\n",x/y); break;
      case '%' : printf("%d\n",x%y); break;
      default : printf("Error\n");   break;
          getchar();
     }return 0;
    }
    

    给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123


            int num,o,t,th,f,fi,count=0;
            scanf("%d",&num);
            if(num<10)
            { 
                count=1;
                printf("%d\n",count);
                printf("%d \n",num);
                printf("%d\n",num);
            }
            else if(num>=10&&num<100)
            {
                count=2;
                printf("%d\n",count);
                o=num/10;
                t=num%10;
                printf("%d %d \n",o,t);
                printf("%d%d\n",t,o);
            }
            else if(num>=100&&num<1000)
            {
                count=3;
                printf("%d\n",count);
                o=num/100;
                t=num%100/10;
                th=num%10;
                printf("%d %d %d \n",o,t,th);
                printf("%d%d%d\n",th,t,o);
            }
            else if(num>=1000&&num<10000)
            {
                count=4;
                printf("%d\n",count);
                o=num/1000;
                t=num/100%10;
                th=num/10%10;
                f=num%10;
                printf("%d %d %d %d \n",o,t,th,f);
                printf("%d%d%d%d\n",f,th,t,o);
            }
            else if(num>=10000&&num<100000)
            {
                count=5;
                printf("%d\n",count);
                o=num/10000;
                t=num/1000%10;
                th=num/100%10;
                f=num/10%10;
                fi=num%10;
                printf("%d %d %d %d %d\n",o,t,th,f,fi);
                printf("%d%d%d%d%d\n",fi,f,th,t,o);
            }
            else
            {
                printf("Error");
            }
    

    循环结构

    while()//判断()内的真假要不要执行{}内的内容,执行完后再次回到while继续执行,直到()中判定为假。停止循环
    {

    }


    while(1)//死循环 如果()后加;不会执行{}内的内容,但会一直运行下去。
    {
    printf("hello\n");
    }


    int a=0;
    while(a<5)
    {
    printf("hello a=%d\n",a)
    a++
    }


    输入一个数字N,输出N以内(包含N)的数字之和 (N不超过1000)


    int N,sum=0;
    scanf("%d",&N);
    while(N)
    {
    sum+=N;
    N--;
    }
    printf("%d\n",sum);


    打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=13+53+3^3。


    int a,b,c;
    int num=100;
    while(num<1000)
    {
        a=num/10%10;
        b=num%10;
        c=num/100;
        if( num==a*a*a+b*b*b+c*c*c)
        {
            printf("%d\n",num);
        }
        num++;
    }
    

    循环三大要素:起点,终点,增量


    do{} while()循环

    int i=100;
    do
    {
    printf("111");
    }while(a<10);
    return 0;//最少执行一次,先执行后判断;while先判断后执行,最少一次不执行。

    for 循环

    for(i=0;//初始值i<10;//条件i++//执行完{}后执行){

    }


    求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和


        int a,b,c,i,j,k;
            double r;
            double suma=0;
            double sumb=0;
            double sumc=0;
            scanf("%d %d %d",&a,&b,&c);
            for(i=1;i<=a;i++)
            {
                suma+=i;
                    
            }
            for(j=1;j<=b;j++)
            {
                sumb+=j*j;
            }
            for(k=1;k<=c;k++)
            {
                sumc+=1.0/k;
            }
            r=suma+sumb+sumc;
                printf("%.2lf\n",r);
            return 0;
    

    有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。


    double n = 1;   //分子
        double m = 2;   //分母
        double temp = 0;
        double sum = 0;
        int i;
        int N;
        scanf("%d",&N);
        for(i = 0;i < N;i++)
        {
            sum += m/n;    //sum
            temp = n;      //记录当分母的值
            n = m;         //分母为上一个分子
            m = m+temp ;   //分子为上一个分数的分子和分母的和
        }
        printf("%.2lf\n",sum);
        return 0;
    

    相关文章

      网友评论

        本文标题:2021-03-25(switch while do while

        本文链接:https://www.haomeiwen.com/subject/lzhlhltx.html