2022-12-28

课后作业

0.运算符,独立计算,不需要进入编辑器
int a,b,c;
a=1;b=1;c=1;
a=++b + ++c;
printf(“\n%d,%d,%d”,a,b,c);
a=b++ + c++;
printf(“\n%d,%d,%d”,a,b,c);
a=++b || c++;(逻辑运算符规则)
printf(“\n%d,%d,%d”,a,b,c);
a=b-- && --c;
printf(“\n%d,%d,%d”,a,b,c);
a=b>c?b++:c++;
printf(“\n%d,%d,%d”,a,b,c);
答案:
4,2,2
4,3,3
1,4,3
1,3,2
3,4,2

1.利用switch…case写一个简单的四则运算(+、-、*、)

#include <stdio.h>
int main(int argc, const char *argv[])
{
    //简单四则运算
    int a = 8;
    int b = 5;
    char c = 0;
    float res = 0;
    c = getchar();
    switch(c)
    {
    case '+': {printf("res = %f",(float)a+b);break;}
    case '-': {printf("res = %f",(float)a-b);break;}
    case '*' :{printf("res = %f",1.0*a*b);break;}
    case '/': {printf("res = %f",1.0*a/b);break;}
    default:printf("输入格式错误");
    }
    return 0;
}     

在这里插入描述

2.终端输入三角形的三条边,判断是否可以组成三角形,能的话,是等腰三角形,还是等边三角形、或普通三角形

#include <stdio.h>
int main(int argc, const char *argv[])
{
    //2.终端输入三角形的三条边,判断是否可以组成三角形
    //,能的话,是等腰三角形,还是等边三角形、或普通三角形
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d-%d-%d",&a,&b,&c);
    if((a+b>c)&&(a+c>b)&&(b+c>a))
    {   
        if(a==b&&b==c)
        {
            printf("三角形为等边三角形\n");
        }
        else if((a==b)||(a==c)||(b==c))
        {
            printf("三角形为等腰三角形\n"); 
        }
        else
        {
            printf("三角形为一般三角形\n");                        
        }
    }   
    else{
        printf("三边不能构成三角形\n");
    
    }   
    return 0;
}

在这里插入图片描述

3.终端输入一个数,判断是一、二、三位数。如果是一位数的话,判断奇偶;如果是二位数的话,判断个位能不能被十位整除;如果是三位数的话,判断个的三次方+十的三次方+百的三次方 = 本身。(水仙花数)

#include <stdio.h>
int main(int argc, const char *argv[])
{
    /*
     终端输入一个数,判断是一、二、三位数
     如果是一位数的话,判断奇偶
     如果是二位数的话,判断个位能不能被十位整除
     如果是三位数的话,判断个的三次方+十的三次方+百的三次方 = 本身>
    (水仙花数)
     */
    int a = 0;
    int ge;
    int shi;
    int bai;
    scanf("%d",&a);
    if(a>-1&&a<10)
    {   
        if(a%2==0)
            {printf("是一位数,且该数为偶数");}
        else
            {printf("是一位数,且该数为奇数");}
    }   
    else if(a>9&&a<100)
    {   
        ge = a % 10; 
        if(10%ge==0){printf("是两位数,且个位数可以被10整除");}
        else{printf("是两位数,且个位数无法被10整除");}
    }   
    else if(a>99&&a<1000)
    {                                                              
        ge = a % 10; 
        shi = a / 10 % 10; 
        bai = a / 100 ;
        if(a==ge*ge*ge+shi*shi*shi+bai*bai*bai)
            printf("是一位三位数,且该数为水仙花数");
		else
            printf("是一位三位数,且该数不是水仙花数")
    }
    else{
    printf("输入格式不符合要求");
    }
    return 0;
}

在这里插入图片描述

4.终端输入判断是不是字母,不是字母的话,打印不是字母,是字母的话,再判断是大写还是小写,大写的话,终端输出对应小写字母,小写的话,终端输出大写字母。

#include <stdio.h>
int main(int argc, const char *argv[])
{
    char c;
    c = getchar();
    if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
    {   
        if(c>='a'&&c<='z')
        {
            c = c-32;
            putchar(c);
            putchar(10);
        }
        else
        {
            c += 32; 
            putchar(c);
            putchar(10);
        }
    }   
    else{
    printf("不是字母");
    }   
    return 0;
}    

在这里插入图片描述

5.输入日期,判断是今天的第多少天?区分闰年平年

#include <stdio.h>
int main(int argc, const char *argv[])
{
    int year;
    int mon;
    int day;
    int date;
    scanf("%d-%d-%d",&year,&mon,&day);
    //判断闰年与否
    /*
    bool isRun(int y){
    if((y%4==0&&y%100!=0)||y%400==0)
        return true;
    else
        return false;
    }*/
    switch(mon){
    case 1 :{date = day;break;}
    case 2 :{date = 31+day;break;}
    case 3 :{date = 31+28+day;break;}
    case 4 :{date = 31+28+31+day;break;}                                   
    case 5 :{date = 31+28+31+30+day;break;}
    case 6 :{date = 31+28+31+30+31+day;break;}
    case 7 :{date = 31+28+31+30+31+30+day;break;}
    case 8 :{date = 31+28+31+30+31+30+31+day;break;}
    case 9 :{date = 31+28+31+30+31+30+31+31+day;break;}
    case 10 :{date = 31+28+31+30+31+30+31+31+30+day;break;}
    case 11 :{date = 31+28+31+30+31+30+31+31+30+31+day;break;}
    case 12 :{date = 31+28+31+30+31+30+31+31+30+31+30+day;break;}
    default :printf("月份格式输入错误");
    }
    if((year%4==0&&year%100!=0)||(year%400==0)&&mon>2)
    {
        date++;//闰年且月份超过2月 date加一
    }
    printf("日期为这一年的第%d天",date);
    return 0;
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值