C语言程序设计现代方法(第二版)练习答案(自学)第五章

5.8后面再补上

5.1

#include <stdio.h>
void main()
{
	int number = 0;
	printf("Enter a number:");
	scanf_s("%d",&number);
	getchar();
	if (number >= 0 && number <= 9)
		printf("1");
	else if (number > 9 && number <= 99)
		printf("2");
	else if (number > 99 && number <= 999)
		printf("3");
	else if (number > 999 && number <= 9999)
		printf("4");
	else if(number>9999||number<0)
		printf("erro");
		getchar();
}

5.2

#include <stdio.h>
void main()
{
	int hour, min, TThour;
	printf("Enter a 24-hour time:");
	scanf_s("%d:%d", &hour, &min);
	getchar();
	if (hour >= 0 && hour <= 12)
		printf("Equivalent 12-hour: %d:%d AM", hour, min);
	else if (hour > 12 && hour < 24) {
		TThour = hour - 12;
		printf("Equivalent 12-hour: %d:%d PM", TThour, min);
	}
	else if(hour >=24 || min > 59||hour<0||min<0)
		printf("erro");
		getchar();
}

5.3

#include <stdio.h>
void main()
{
	float StockMount, commission, competitor_commission, StockValue, value;
	printf("Enter price and mount: ");
	scanf_s("%f%f", &StockValue, &StockMount);
	getchar();
	if (StockMount < 2000)
		competitor_commission = 33.3f * StockMount;
	else
		competitor_commission = 33.2f * StockMount;
	value = StockValue * StockMount;
	if (value < 2500.f)
		commission = 30.00f + .017f * value;
	else if (value < 6250.00f)
		commission = 56.00f + .0066f * value;
	else if (value < 20000.00f)
		commission = 76.00f + .0034f * value;
	else if (value < 50000.00f)
		commission = 100.00f + .0022f * value;
	else if (value < 500000.00f)
		commission = 155.00f + .0011f * value;
	else
		commission = 255.00f + .0009f * value;
	if (commission < 39)
		commission = 39.00f;
	printf("Commission: $%.2f\n", commission);
	printf("Commission of competitor: $%.2f\n", competitor_commission);
	getchar();
}

5.4

#include<stdio.h>

void main()
{
    int wind_speed;
    printf("wind_speed(nm/n):");
    scanf("%d",&wind_speed);
    if(wind_speed<1)
    printf("calm");
    else if(wind_speed>=1&&wind_speed<4)
    printf("ligtht air");
    else if(wind_speed>=4&&wind_speed<28)
    printf("Breeze");
    else if(wind_speed>=28&&wind_speed<48)
    printf("Gale");
    else if(wind_speed>=48&&wind_speed<64)
    printf("Storm");
    else if(wind_speed>64)
    printf("Hurricane");
}

5.5

#include <stdio.h>
void main()
{
    double dollar,tax;
    printf("dollar:");
    scanf_s("%lf", &dollar);
    getchar();
    if (dollar < 750)
        tax = dollar * 0.01;
    else if (dollar >= 750 && dollar <= 2250)
        tax = (dollar - 750) * 0.02 + 7.5;
    else if (dollar > 2250 && dollar <= 3750)
        tax = (dollar - 2250) * 0.03 + 37.5;
    else if (dollar > 3750 && dollar <= 5250)
        tax = (dollar - 3750) * 0.04 + 82.5;
    else if (dollar > 5250 && dollar <= 7000)
        tax = (dollar - 5250) * 0.05 + 142.5;
    else
        tax = (dollar - 7000) * 0.06 + 230;
    printf("tax=%.2lf", tax);
    getchar();      
}

5.6

#include <stdio.h>
void main()
{
    int check_digit, d, i1, i2, i3, i4, i5, j1, j2, j3, j4, j5,
        first_sum, second_sum, total;
    printf("Enter the first (single) digit: ");
    scanf_s("%1d", &d);
    getchar();
    printf("Enter first group of five digits: ");
    scanf_s("%1d%1d%1d%1d%1d", &i1, &i2, &i3, &i4, &i5);
    getchar();
    printf("Enter second group of five digits: ");
    scanf_s("%1d%1d%1d%1d%1d", &j1, &j2, &j3, &j4, &j5);
    getchar();
    printf("Enter the last (single) digit: ");
    scanf_s("%1d", &check_digit);
    getchar();
    first_sum = d + i2 + i4 + j1 + j3 + j5;
    second_sum = i1 + i3 + i5 + j2 + j4;
    total = 3 * first_sum + second_sum;
    if (check_digit == 9 - ((total - 1) % 10))
        printf("VALID");
    else
        printf("NOT VALID");
    getchar();
}

5.7

{
	int a, b, c, d, max1, max2, min1, min2;
	printf("Enter four integers(separate with space):");
	scanf_s("%d %d %d %d", &a, &b, &c, &d);
	getchar();
	if (a > b)
		max1 = a, min1 = b;
	else
		max1 = b, min1 = a;
	if (c > d)
		max2 = c, min2 = d;
	else
		max2 = d, min2 = c;
	if (min1 < min2)
		min2 = min1;
	else if (max1 > max2)
		max2 = max1;
	printf("\nlargest:%d\nsmallest:%d\n", max2, min2);
	getchar();
}

5.8

5.9

#include <stdio.h>
void main()
{
	int month,day,year,early_month,early_day,early_year;
	printf("Enter first date (mm/dd/yy): ");
	scanf_s("%d/%d/%d", &early_month, &early_day, &early_year);
	printf("Enter second date (mm/dd/yy): ");
	scanf_s("%d/%d/%d", &month, &day, &year);
	if (year < early_year) {
		early_month = month;
		early_day = day;
		early_year = year;
	}
	else if (year == early_year && month < early_month) {
		early_month = month;
		early_day = day;
		early_year = year;
	}
	else if (year == early_year && month == early_month && day < early_day) {
		early_month = month;
		early_day = day;
		early_year = year;
	}
	printf("\n%d/%.2d/%.2d is the earliest date", early_month, early_day, early_year);
	getchar();
}

5.10

#include <stdio.h>
void main()
{
	int grade;
	printf("Enter numerical grade: ");
	scanf_s("%d", &grade);
	getchar();
	if (grade < 0 || grade > 100) 
		printf("Illegal grade");
	switch (grade / 10) {
	case 10: case 9: printf("A"); break;
	case 8: printf("B"); break;
	case 7: printf("C"); break;
	case 6: printf("D"); break;
	case 5: case 4: case 3: case 2: case 1: case 0:
		printf("F"); break;
	}
	getchar();
}

5.11

##include <stdio.h>
void main()
{
	int i,j;
	printf("Enter a two-digit number:");
	scanf_s("%1d%1d",&i,&j);
    getchar();
    printf("you entered the number:");
    switch (i) {
    case 1:
        switch (j) {
        case 0: printf("ten"); break;
        case 1: printf("eleven"); break;
        case 2: printf("twelve"); break;
        case 3: printf("thirteen"); break;
        case 4: printf("fourteen"); break;
        case 5: printf("fifteen"); break;
        case 6: printf("sixteen"); break;
        case 7: printf("seventeen"); break;
        case 8: printf("eighteen"); break;
        case 9: printf("nineteen"); break;
        } break;
    case 2: printf("twenty"); break;
    case 3: printf("thirty"); break;
    case 4: printf("forty"); break;
    case 5: printf("fifty"); break;
    case 6: printf("sixty"); break;
    case 7: printf("seventy"); break;
    case 8: printf("eighty"); break;
    case 9: printf("ninety"); break;
    default:printf("erro"); break;
    }
    if (i!=1) {
        switch (j) {
        case 0: break;
        case 1: printf("-one"); break;
        case 2: printf("-two"); break;
        case 3: printf("-three"); break;
        case 4: printf("-four"); break;
        case 5: printf("-five"); break;
        case 6: printf("-six"); break;
        case 7: printf("-seven"); break;
        case 8: printf("-eight"); break;
        case 9: printf("-nine"); break;
        default:printf("erro"); break;
        }
    }
	getchar();
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值