第五章(编程练习)
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); }
运行结果
以上均为小编写,有错误之处请留言下方;
武汉加油!!!