第五章(编程练习)
5.1
/************************************************************************/
/***题 目:编写一个程序,把用分钟的时间转换用小时和分钟表示的时间。***/
/*** 使用#define或者const创建一个表示60的符号常量或const变量 ***/
/*** 通过while循环让用户重复输入值,直到用户输入小于或者等于0***/
/*** 的值才停止循环。 ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/************************************************************************/
#include<stdio.h>
#define VALUE 60
int main(void)
{
int minute = 0,time = 0,hour=0;
//minute-分 time-输入的值 hour-时
printf("请输入需要转化分钟的时间(直到输入小于0的数字停止):\n");
scanf_s("%d", &time,1);
while (time > 0)
{
hour = time / VALUE;
minute = time % VALUE;
printf("%d的分钟可以转化为%d小时%d分钟\n", time, hour, minute);
scanf_s("%d", &time, 1);
}
return 0;
}
运行结果
5.2
/**************************************************************************/
/***题 目:编写一个程序,提示用户输入一个整数,然后打印从该数到比该数***/
/*** 大10的所有整数(例如,用户输入5,则打印5-15的所有整数), ***/
/*** 要求打印的各值直接用一个空格、制表符或换行符分开。 ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/**************************************************************************/
#include<stdio.h>
int main(void)
{
int num = 0,number=0;
printf("请输入一个整数:\n");
scanf_s("%d", &num);
number = num + 10;
while (num <= number)
{
printf("%d ", num++);
}
return 0;
}
运行结果
5.3
/**************************************************************************/
/***题 目:编写一个程序,提示用户输入天数,然后将其转换成周天和天数。***/
/*** 例如,用户输入18,则转换为2周4天,以下面的格式显示结果: ***/
/*** 18 days are 2 weeks, 4 days ***/
/***完成时间:202.2.2 ***/
/***作者:林夕 ***/
/**************************************************************************/
#include<stdio.h>
#define VALVE 7
int main(void)
{
int number = 0, day = 0, week = 0;
printf("请输入天数:\n");
scanf_s("%d", &number);
week = number / VALVE;
day = number % VALVE;
printf("%d days are %d weeks, %d days\n",number,week,day);
return 0;
}
运行结果
5.4
/******************************************************************************/
/***题 目:编写一个程序,提示用户输入一个身高(单位:厘米),并分别以厘米***/
/*** 和英寸为单位显示该值,允许有小数部分。程序应该能够让用户重复输***/
/*** 入身高,直到用户输入一个非正数,其输出示例如下: ***/
/*** Enter a height in centers:182 ***/
/*** 182.0cm = 5 feet, 11.7 inches ***/
/*** Enter a height in centimers (<=0 to quit): 168.7 ***/
/*** 168.7cm = 5 feet, 6.4 inches ***/
/*** Enter a height in centimers (<=0 to quit): 0 ***/
/*** bye ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/******************************************************************************/
#include<stdio.h>
#define VALUE1 30.48
#define VALUE2 2.54
int main(void)
{
float height = 0.0, inches = 0.0;
int feet = 0;
printf("Enter a height in centers:");
scanf_s("%f", &height);
while (height > 0)
{
feet = height / VALUE1;
inches = (height- feet*VALUE1)/VALUE2;
printf("%.1fcm = %d feet, %.1f inches \n",height,feet,inches);
printf("Enter a height in centimers (<=0 to quit):");
scanf_s("%f", &height);
}
printf("bye");
return 0;
}
运行结果
5.5
/**************************************************************************/
/***题 目:修改程序5.13,你可以认为那个程序时计算20天里赚多少钱的程序***/
/*** (假设第一天赚51、第二天赚52、第三天赚53,以此类推)。修改***/
/*** 程序,使其可以与用户交互,根据用户输入的数进行计算(即,用***/
/*** 读入的一个变量来代替20)。 ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/**************************************************************************/
#include<stdio.h>
int main(void)
{
int count, sum, number;
count = 0;
sum = 0;
number = 0;
printf("请输入初始数字:\n");
scanf_s("%d", &number);
while (count++<number)
{
sum = sum + count;
}
printf("sum=%d\n", sum);
return 0;
}
运行结果
5.6
/******************************************************************************/
/***题 目:修改程序练习5的程序,使其能计算整数的平方和(可以认为第一天$1,***/
/*** 第二天$4,第三天$9,依次类推,这看起来很不错)。C没有平方函数, ***/
/*** 但是可以用n*n来表示n的平方。 ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/******************************************************************************/
#include<stdio.h>
int main(void)
{
int count, sum, number;
count = 0;
sum = 0;
number = 0;
printf("请输入天数:\n");
scanf_s("%d", &number);
while (count++ < number)
{
sum = sum + count*count;
}
printf("sum=%d\n", sum);
return 0;
}
运行结果
5.7
/**************************************************************************/
/***题 目:编写一个程序,提示用户输入一个double类型的数,并打印该数的***/
/*** 立方值。自己设计一个函数计算并打印立方值。main()函数要把用***/
/*** 户输入的值传递给该函数。 ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/**************************************************************************/
#include<stdio.h>
#include<math.h>
double IC(void);
int main(void)
{
double num = 0.0;
printf("请输入一个double类型的数:\n");
num = pow(IC(), 3);
printf("立方为%lf", num);
return 0;
}
double IC(void)
{
double number = 0.0;
scanf_s("%lf", &number);
return number;
}
运行结果
5.8
/******************************************************************************/
/***题 目:编写一个程序,显示求模运算符的结果。把用户输入的第一个整数作为***/
/*** 求模运算符的第二个运算对象,该数在运算过程中保持不变,用户后面***/
/*** 输入的数是第一个运算对象。当用户输入一个非正数时,程序结束。其***/
/*** 输出示例如下: ***/
/*** This program computes modulo. ***/
/*** Enter an integer to serve as the second opeand:256 ***/
/*** Now enter the first operand: 438 ***/
/*** 438 % 256 is 182 ***/
/*** Enter next number for first operand (<= 0 to quit):1234567 ***/
/*** 1234567 % 256 is 135 ***/
/*** Enter next number for first operand (<= 0 to quit):0 ***/
/*** Done ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/******************************************************************************/
#include<stdio.h>
int main(void)
{
int number1 = 0, number2 = 0;
printf("This program computes modulo.\n");
printf("Enter an integer to serve as the second opeand:");
scanf_s("%d", &number2);
printf(" Now enter the first operand: ");
scanf_s("%d", &number1);
while (number1 > 0)
{
printf("%d %% %d is %d\n", number1, number2,( number1 % number2));
//打印%要用%%
printf("Enter next number for first operand (<= 0 to quit):");
scanf_s("%d", &number1);
}
printf("Done\n");
return 0;
}
运行结果
5.9
/****************************************************************************/
/***题 目:编写一个程序,要求用户输入一个华氏温度。程序应读取double类型***/
/*** 的值作为温度值,并把该值作为参数传递给一个用户自定义的函数 ***/
/*** Temperatures()。该函数计算摄氏温度和开氏温度,并以小数点后俩***/
/*** 位数字的精度显示3种温度。要使用不同的温标来表示这3个温度值。***/
/*** 下面是华氏温度转摄氏温度的公式: ***/
/*** 摄氏温度 = 5.0/9.0*(华氏温度 - 32.0) ***/
/*** 开氏温标常用于科学研究,0表示绝对零,代表最低温度。下面是摄 ***/
/*** 氏温度转开氏温度的公式: ***/
/*** 开氏温度 = 摄氏温度 + 273.16 ***/
/*** Temperatures()函数中用const创建温度转换中使用的变量。在main()***/
/*** 函数中使用一个循环让用户重复输入温度,当用户输入q或其他非数字***/
/*** 时,循环结束。scanf()函数返回读入数据的数量,所以如果读取数字***/
/*** 返回1,如果读取q则不返回1.可以使用==运算符将scanf()的返回值和***/
/*** 1作比较,测试俩值是否相等。 ***/
/***完成时间:2020.2.2 ***/
/***作 者:林夕 ***/
/*****************************************************************************/
#include<stdio.h>
void Temperatures(double n);
int main(void)
{
double degree_Fahrenheit = 0.0;
printf("请输入一个华氏温度:\n");
while (scanf_s("%lf", °ree_Fahrenheit)==1)
{
Temperatures(degree_Fahrenheit);
printf("请输入一个华氏温度:\n");
}
printf("程序结束\n");
return 0;
}
void Temperatures(double n)
{
double centigrade_degree = 0.0, degree_kelvin = 0.0;
const double num1 = 273.16, num2 = 32.0;
centigrade_degree = 5.0 / 9.0 * (n - num2);
degree_kelvin = n + num1;
printf("华氏温度:%.2lf\n",n);
printf("摄氏温度:%.2lf\n",centigrade_degree);
printf("开氏温度:%.2lf\n",degree_kelvin);
}
运行结果
以上均为小编写,有错误之处请留言下方;
武汉加油!!!