C语言程序设计现代方法第二版,第五章课后编程习题全部答案

皆编译通过,但可能存在些遗漏,仅供参考

其余章节还没有学习,持续稳定缓慢更新中..

5.1

#include <stdio.h>

int main (void)
{
	int num = 0;
	int dig = -1;				// 初始化-1便于发现错误 
	
	printf ("Enter a number: ");
	scanf ("%d", &num);
	
	if (num < 0) {				//题目并没有说如果输入是负数或五位数会怎么样,所以不更多考虑了 
	}else if (num < 10) {
		dig = 1;
	}else if (num < 100) {
		dig = 2;
	}else if (num < 1000) {
		dig = 3; 
	}else if (num < 10000) {
		dig = 4;
	}
	
	printf ("The number %d has %d digits", num, dig);
	
	
	return 0;
} 

ps:加个 i f 即可判断输入是否合法,懒得加了

5.2

#include <stdio.h>

int main (void)
{
	int hour, hour1, min;
	
	printf ("Enter a 24-hour time: ");
	scanf ("%d:%d", &hour, &min);
	
	printf ("Equivalent 12-hour time: ");
	
	if (hour > 12) {
		hour1 = hour - 12;
		printf ("%d:%.2d", hour1, min);
	} 
	else {
		printf ("%d:%.2d", hour, min);
	}

	
	switch (hour) {
		case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:	case 10:  case 11:  case 12:	
			   	 printf ("AM");
				 break;
		default: printf ("PM");
			     break;
		
	}
	
	return 0;
} 

ps: 这题感觉写麻烦了,所以附上官方版

5.3

#include <stdio.h>

int main (void)
{
	int num;
	float price, value, commission1, commission2;
	
	printf ("输入购股数量:");
	scanf ("%d", &num);
	printf ("输入每股单价:"); 
	scanf ("%f", &price);
	
	value = num * price;
	
	//自己 
	if (value < 2500.0f){
		commission1 = 30.0f + 0.017f * value;
	} else if (value < 6250.0f) {
		commission1 = 56.0f + 0.0066f * value;
	} else if (value < 20000.0f) {
		commission1 = 76.0f + 0.0034f * value;
	} else if (value < 50000.0f) {
		commission1 = 100.0f + 0.0022f * value;
	} else if (value < 500000.0f) {
		commission1 = 155.0f + 0.001
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值