C prime plus 第五章 课后练习答案

  • Post author:
  • Post category:其他

本博客用于参考和探讨,有问题可于评论提出或者私信我。

/* 5-1.c -- 把分钟表示的时间转换成用小时和分钟表示的时间 */
#include<stdio.h>

#define TIME 60

int main(void)
{
	int time;
	printf("请输入分钟数:");
	while (scanf("%d", &time) == 1 && time > 0)
	{
		printf("转换后的时间为 %d小时%d分钟 \n",time / TIME,time % TIME);
		printf("若要继续 请继续输入,若想结束,输入非数值字符或者小于0的整数\n");
	}

	return 0;
}
/* 5-2.c -- 输入一个整数,打印从该数到比该数大10的所有整数 */
#include<stdio.h>

int main(void)
{
	int k;
	
	printf("请输入一个整数:");
	scanf("%d",&k);
	for (int i = k;i <= k + 10; i++)
	{
		printf("%d ",i);
	}
	printf("\n");
	
	return 0;
}
/* 5-3.c -- 提示用户输入天数,然后将其转换为周数和天数 */
#include<stdio.h>
#define DAYS 7

int main(void)
{
	int days;
	
	printf("要输入的天数为:");
	while (scanf("%d", &days) == 1 && days > 0)
	{
		printf("%d days are %d weeks,%d days\n",days,days / DAYS,days % DAYS);
		printf("如果要继续,请输入大于0的整数\n");
		printf("要输入的天数为:");
	}

	return 0;
}
/* 5.4-c -- 提示用户输入身高,并分别以厘米和英寸为单位显示该值,允许有小数部分 */
#include<stdio.h>

#define INCHES 2.54  
#define FEETS 30.48
int main(void)
{
	float height;

	printf("Enter a height in centimeters:");
	while (scanf("%f", &height) == 1 && height > 0)
	{
		int feets = (int)(height / FEETS);
		printf("%.1f cm = %d feet, %.1f inches\n",height,feets,(height - (feets * FEETS)) / INCHES);
		printf("Enter a height in centimeters (<=0 to quit):");
	}
	printf("bye!\n");
	return 0;
}
/* 5-5.c -- 提示用户输入一个数值,计算从1到这个数的和 */
#include<stdio.h>

int main(void)
{
	int num, sum,count;

	sum = 0;
	count = 0;
	printf("请输入num的值:");
	scanf("%d", &num);
	while (count++ < num)
	{
		sum += count;
	}
	printf("From 0 to num's sum = %d\n",sum);

	return 0;
}
/* 5-6.c -- 计算整数的平方和 */

#include<stdio.h>

int main(void)
{
	int num, sum, count;
	
	sum = 0;
	count = 0;
	printf("请输入要计算的值:");
	scanf("%d",&num);
	while (count++ < num)
	{
		sum += count * count;
	}

	printf("The sum's value is:%d\n",sum);

	return 0;
}
/* 5-7.c -- 设计一个函数计算double的立方值,在main()中输入double值传递给立方函数 */
#include<stdio.h>

double Cube(double e);

int main(void)
{
	double IEEE754;

	printf("请输入一个要进行计算的双精度浮点数值:");
	scanf("%lf",&IEEE754);
	printf("The cube's value is:%.2lf",Cube(IEEE754)); 

	return 0;
}

double Cube(double e)
{
	double cube = e * e * e;

	return cube;
}
/* 5-8.c -- 显示求模运算的结果 */
#include<stdio.h>

int main(void)
{
	int moudle;			// 求模运算只能用于整数
	int num;			// 被模的数
	printf("This program computes moduli.\n");
	printf("Enter an integer to serve as the second operand:");
	scanf("%d",&moudle);
	printf("Now enter the first operand:");
	while (scanf("%d", &num) == 1 && num > 0)
	{
		printf("%d 模 %d = %d\n", num, moudle, num % moudle);
		printf("Enter next number for first operand (<= 0 to quit):");
	}
	printf("Done!\n");
	return 0;
}
/* 5-9.c -- 用户输入一个华氏温度,程序读取double类型的值作为温度值,并把该值作为参数
传递给一个用户自定义的函数Temperatures()。该函数计算摄氏温度和开氏温度,并以小数点后两位
的数字精度显示三种温度。要使用不同的温标来表示这三个温度值 */
#include<stdio.h>

void Temperatures(double Hua);

int main(void)
{
	double Hua;

	printf("请输入一个华氏温度:");
	while (scanf("%lf", &Hua) == 1)
	{
		Temperatures(Hua);
		printf("请继续输入,若要结束,输入非数值字符即可:");
	}
	return 0;
}

void Temperatures(double Hua)
{
	const float change = 273.16;
	double She, Kai;

	She = 5.0 / 9.0 * (Hua - 32.0);
	Kai = She + change;

	printf("华氏温度是:%.2lf, 摄氏温度是:%.2lf, 开氏温度是:%.2lf \n",Hua,She,Kai);
}

版权声明:本文为Zach1Lavine原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。