/*test5-1.c
1.编写一个程序。
将用分钟表示的时间转换成以小时和分钟表示的时间。
使用#define或者const来创建一个代表60的符号常量。
使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。*/
#include <stdio.h>
#define M_PRE_H 60
int main(void)
{
int min, hour;
printf("Please enter minutes you want(min > 0):");
scanf("%d", &min);
printf("\n");
while( min > 0){
hour = min / M_PRE_H;
min = min % M_PRE_H;
printf("The time is %d:%d\n", hour, min);
}
return 0;
}
运行结果为:
Please enter minutes you want(min > 0):666
The time is 11 h6 min
/*test5-2.c
2.编写一个程序,此程序要求输入一整数,
然后打印出从(包括)输入的值到(包括)比输入的值大10的所有整数值(也就是说,如果输入为5,那么输出就从5到15)。
要求在各个输出值之间用空格、制表符或换行符分开。*/
#include <stdio.h>
int main (void)
{
int i = 1;
int num ;
printf("请输入一个整数:");
scanf("%d",&i);
printf("%d",num);
while(i++ < 10){
++num;
printf("%5d",num);
}
return 0;
}
运行结果为:
请输入一个整数:9
9 10 11 12 13 14 15 16 17 18 19
/*tset5-3.c
3.编写一个程序,该程序要求用户输入天数,然后将该值转换为周数和天数。
例如,此程序将把18天转换成2周4天。用下面的格式显示结果:
使用一个while循环让用户重复输入天数;
当用户输入一个非正数(如0或-20)时,程序将终止循环。*/
#include <stdio.h>
#define DAYS_PRE_WEEKS 7
int main (void)
{
int days, weeks;
printf("请输入天数:");
scanf("%d",&days);
while(days > 0){
weeks = days / DAYS_PRE_WEEKS;
days = days % DAYS_PRE_WEEKS;
printf("你输入的是:%d周%d天\n", weeks, days);
scanf("%d",&days);
}
return 0;
}
运行结果为:
Please input the days:666
666 days are 95 weeks,1 days.
Please input the days:-666
( 这一行是空的!)
/* test5-4.c
4.编写一个程序让用户按厘米输入一个高度值,
然后,程序按照厘米和英尺英寸显示这个高度值。
允许厘米和英寸的值出现小数部分。
程序允许用户继续输入,直到用户输入一个非正的数值。
程序运行的示例如下面所示:
Enter a height in centimeters: 182
182.0 cm = 5 feet, 11.7 inches
Enter a height in centimeters(<=O to quit): 168
168.0 cm = 5 feet, 6.1 inches
Enter a height in centimeters(<=O to quit): 0
bye
*/
#include <stdio.h>
#define C_PRE_F 30.48
#define C_PRE_I 2.54
int main(void)
{
float cm, inchs;
int feet;
printf("按厘米输入一个高度值:");
scanf("%f",&cm);
while(cm >= 0){
feet = (int)cm / C_PRE_F ;
inchs = (cm - feet * C_PRE_F) / C_PRE_I ;
printf("%fcm = %d feet,%.1f inchs\n", cm, feet, inchs);
printf("按厘米输入一个高度值(大于等于0):");
scanf("%f",&cm);
}
printf("bey");
return 0;
}
运行结果为:
按厘米输入一个高度值:666
666.000000cm = 21 feet,10.2 inchs
按厘米输入一个高度值(大于等于0):-666
bey
/*test5-5
5.改写用来找到前20个整数之和的程序addemup.c(程序清单5.13)
(如果您愿意,可以把addemup.c程序看成是一个计算如果您第一天得到$1,
第二天得到$2,第三天得到$3,以此类推,您在20天里会挣多少钱的程序)。
修改该程序,目的是您能准确地告诉程序计算将进行到哪里。
也就是说,用一个读入的变量来代替20。 */
#include <stdio.h>
int main(void)
{
int count, sum, t;
count = 0;
sum = 0;
printf("请输入工作天数:");
scanf("%d",&t);
while (count++ < t)
sum = sum + count;
printf("你将得到$%d\n", sum);
return 0;
}
运行结果为:
请输入工作天数:99
你将得到$4950
/*test5-6.c
6.现在修改编程练习5中的程序,使它能够计算整数平方的和(
如果您喜欢,可以这样认为:如果您第一天得到$l,第二天得到$4,第三天得到$9,
以此类推您将得到多少钱。这看起来像一个很好的买卖)。
C没有平方函数,但是您可以利用n的平方是n*n的事实。 */
#include <stdio.h>
int main(void)
{
int count, sum, t;
count = 0;
sum = 0;
printf("请输入工作天数:");
scanf("%d",&t);
while (count++ < t)
sum = sum + count * count;
printf("你将得到$%d\n", sum);
return 0;
}
运行结果为:
请输入工作天数:20
你将得到$2870
/* test5-7.c
7.编写一个程序,该程序要求输入一个float型数并打印该数的立方值。
使用您自己设计的函数来计算该值的立方并且将它的立方打印出来。
main()程序把输入的值传递给该函数。*/
#include<stdio.h>
float cube(float);
int main(void)
{
float number;
printf("Please input the number:");
scanf("%f",&number);
printf("The cube of %f is %f\n",number,cube(number));
return(0);
}
float cube(float num)
{
return(num * num * num);
}
运行结果为:
Please input the number:6.66
The cube of 6.660000 is 295.408264