C Primer Plus 6th(中文版)第五章编程练习答案

**1.**编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间。使用#define或const创建一个表示60的符号常量或const变量。通过while循环让用户输入小于或等于0的值才停止循环。

#include
const int HOUR=60;   //一小时的分钟数

int main(void)
{
	int x,minute,hour;
	printf("请输入分钟数(输入0或负数停止循环):\n");
	scanf("%d",&x);

	hour=x/HOUR;
	minute=x%HOUR;
	printf("%d分钟是%d小时%d分钟.",x,hour,minute);

	while(x>0)
	{
		printf("\n\n请输入分钟数(输入0或负数停止循环):\n");
		scanf("%d",&x);
		hour=x/HOUR;
		minute=x%HOUR;
		printf("%d分钟是%d小时%d分钟.",x,hour,minute);
	}	
	
	return 0;
 } 

C Primer Plus 6th(中文版)第五章编程练习答案_第1张图片

**2.**编写一个程序,提示用户输入一个整数,然后打印从该数大10的所有整数(例如,输入5,则打印5~15的所有整数,包括5和15)。要求打印的各值之间用一个空格、制表符或者换行符分开。

#include

int main(void)
{
	int a,b;
	printf("请输入一个数:\n");
	scanf("%d",&a);
	b=a+10;
	while(a<=b)
	{
		printf("%d ",a);
		a++;	
	}
	
	return 0;
}

C Primer Plus 6th(中文版)第五章编程练习答案_第2张图片

**5.**假设第一天赚1 、 第 二 天 赚 2 、第二天赚2 2、第三天赚3$,以此类推。请用户输入天数,求这些天里一共赚多少。

#include

int main(void)
{
	int day;
	int sum=0;
	int i;
	printf("请输入天数:\n",day);
	scanf("%d",&day);
	
	for(i=1;i<=day;i++)
	{
		sum=sum+i;
	}
	printf("%d天一共赚了%d$.",day,sum);
	
	return 0;
}

C Primer Plus 6th(中文版)第五章编程练习答案_第3张图片

**6.**假设第一天赚1 、 第 二 天 赚 4 、第二天赚4 4、第三天赚9$,以此类推。请用户输入天数,求这些天里一共赚多少。

#include

int main(void)
{
	int day;
	int sum=0;
	int i,n;
	printf("请输入天数:\n",day);
	scanf("%d",&day);
	
	for(i=1;i<=day;i++)
	{
		n=i*i;   //注意,这里不能写i=i*i;sum=sum+i;因为i都平方了,i会影响循环 
		sum=sum+n;
	}
	printf("%d天一共赚了%d$.",day,sum);
	
	return 0;
 } 

C Primer Plus 6th(中文版)第五章编程练习答案_第4张图片

**7.**编写一个程序,提示用户输入一个double类型的数,并打印该数的立方值。main函数要把用户输入的值传递给该函数。

#include
#include   //C语言中没有立方函数,但可以用pow()函数计算指数运算,需要调用标准数学库。简单点也可以用n*n*n计算立方。
double cube(double x);   //函数原型
 
int main(void)
{
	double x,n;
	printf("请输入一个double类型的值:\n");
	scanf("%lf",&x);
	cube(x);
	
	return 0;
 } 

double cube(double n)   //cube:立方,函数定义
{
	double a;
	a=pow(n,3);   //pow()函数的参数要double类型
	printf("%.2lf的立方是%.2lf",n,a);   //int输出用%d,float输出用%f,double输出用%lf
 } 

C Primer Plus 6th(中文版)第五章编程练习答案_第5张图片

你可能感兴趣的:(C语言)