c语言程序设计-(第四版)第五章

习题5
5.1

#include <stdio.h>

int main(void){
    float a;
    printf("Input a number:");
    scanf("%f",&a);
    if(a>=0)
        printf("%f",a);
    else
        printf("%f",-a);
}

5.2

#include <stdio.h>

int main(void){
    int a;
    printf("Input a number:");
    scanf("%d",&a);
    if(a%2==0)
        printf("%d is an even number",a);
    else
        printf("%d is an odd number",a);
}

5.3

#include <stdio.h>
#include <math.h>

int main(void){
    float a,b,c,s,area;
    printf("Input the length of three sides of a triangle:");
    scanf("%f,%f,%f",&a,&b,&c);
    if(a+b>c&&a+c>b&&b+c>a) {
        s = (a + b + c) / 2;
        area = (float) sqrt(s * (s - a) * (s - b) * (s - c));
        printf("可以构成三角形,面积为%f", area);
    } else
        printf("不能构成三角形");
}

5.4

#include <stdio.h>
#include <math.h>

int main(void){
    int year;
    double capital,rate,interest,deposit;
    printf("Please enter year and capital:");
    scanf("%d,%lf",&year,&capital);
    switch (year) {
        case 1:
            rate = 0.0225;
            break;
        case 2:
            rate = 0.0243;
            break;
        case 3:
            rate = 0.0270;
            break;
        case 5:
            rate = 0.0288;
            break;
        case 8:
            rate = 0.0300;
            break;
    }
    interest = capital * rate *year;
    deposit = capital + interest;
    printf("interest=%lf,deposit=%lf\n",interest,deposit);
}

5.5

#include <stdio.h>

int main(void){
   int year,flag;
    printf("Enter year:");
    scanf("%d",&year);
    if((year%4 == 0&&year%100!=0)||(year%400 ==0))
        flag = 1;
    else
        flag = 0;
    if(flag == 1)
        printf("%d is a leap year!\n",year);
    else
        printf("%d is not a leap year!\n",year);
    return 0;
    }

5.6

#include <stdio.h>
int main(void)
{
   int year,flag;
    printf("Enter year:");
    scanf("%d",&year);
    flag=year%400==0||year%4==0&&year%100!=0?1:0;
    if(flag==1&&flag!=0)
        printf("%d is a leap year !\n",year);
    else
        printf("%d is not a leap year !\n",year);
    return 0;
    }

5.7

#include <stdio.h>
int main(void){
    //小写字母:97-122
    //大写字母:65-90
    char a;
    printf("输入一个英文字母:");
    a = getchar();
    if(a>='a'&&a<='z')
    {
        a = a-32;
        printf("%c,%d",a,a);
    }
    else if(a>='A'&&a<='Z'){
        a = a+32;
        printf("%c,%d",a,a);
    }
    else{
        printf("%c,%d",a,a);
    }
    return 0;
}

5.8

#include <stdio.h>
int main(void){
    char a;
    int c ;
    printf("请输入一个字符:");
    a = getchar();
    switch (a) {
        case 'a'...'z':
            printf("%c是小写字母",a);
            break;
        case 'A'...'Z':
            printf("%c是大写字母",a);
            break;
        case '0'...'9':
            printf("%c是数字",a);
            break;
        case ' ':
            printf("%c是空格",a);
            break;
    }
    return 0;
}

5.9

#include <stdio.h>
int main(void){
    int a;
    printf("请输入你的成绩:");
    scanf("%d",&a);
    if(a>=0&&a<=60)
        printf("grade is E");
    else if(a>=60&&a<=70)
        printf("grade is D");
    else if(a>=70&&a<=80)
        printf("grade is C");
    else if(a>=80&&a<=90)
        printf("grade is B");
    else
        printf("grade is A");
    return 0;
}

5.10

#include<stdio.h>
int main(void)
{
    int year,month;
    printf("Input year,month:");
    scanf("%d,%d",&year,&month);
    if(month>12||month<=0)
    {
        printf("error month\n");
    }
    else
    {
        switch(year,month)
        {
            case 12:
            case 10:
            case 8:
            case 7:
            case 5:
            case 3:
            case 1:
                printf("31 天\n");
                break;
            case 11:
            case 9:
            case 6:
            case 4:
                printf("30 天\n");
                break;
            case 2:
                if(year%4==0&&year!=0||year%400==0)
                {
                    printf("29 天\n");
                }
                else
                {
                    printf("28 天\n");
                }
                break;
            default:
                printf("Input error\n");
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值