C Primer Plus 6th(中文版)第五章编程练习答案
程序员文章站
2022-04-04 10:17:36
...
1.编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间。使用#define或const创建一个表示60的符号常量或const变量。通过while循环让用户输入小于或等于0的值才停止循环。
#include<stdio.h>
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;
}
2.编写一个程序,提示用户输入一个整数,然后打印从该数大10的所有整数(例如,输入5,则打印5~15的所有整数,包括5和15)。要求打印的各值之间用一个空格、制表符或者换行符分开。
#include<stdio.h>
int main(void)
{
int a,b;
printf("请输入一个数:\n");
scanf("%d",&a);
b=a+10;
while(a<=b)
{
printf("%d ",a);
a++;
}
return 0;
}
5.假设第一天赚1、第三天赚3$,以此类推。请用户输入天数,求这些天里一共赚多少。
#include<stdio.h>
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;
}
6.假设第一天赚1、第三天赚9$,以此类推。请用户输入天数,求这些天里一共赚多少。
#include<stdio.h>
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;
}
7.编写一个程序,提示用户输入一个double类型的数,并打印该数的立方值。main函数要把用户输入的值传递给该函数。
#include<stdio.h>
#include<math.h> //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
}
上一篇: Nmap与zenmap的用法
下一篇: 带<br/>换行符的赋值