美文网首页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