C Primer Plus 第6版 第五章 编程练习参考答案
编译环境VS Code+WSL GCC 源码在文末下载
/*第1题*************************/ #include<stdio.h> #define MIN_TO_HOUR 60 int main(void) { int user_input_min = 0,user_output_min = 0,user_output_hour = 0; printf("本程序将输入的时间(分钟)用小时和分表示\n"); printf("请输入需要转换的时间(分):"); scanf("%d",&user_input_min); while (user_input_min > 0) { user_output_hour = user_input_min / MIN_TO_HOUR; user_output_min = user_input_min % MIN_TO_HOUR; printf("你输入的时间等于:%d小时%d分\n",user_output_hour,user_output_min); //getchar(); printf("输入小于等于0的数字退出本程序\n"); printf("请输入需要转换的时间(分):"); scanf("%d",&user_input_min); } getchar(); return 0; } /*第2题*************************/ #include<stdio.h> int main(void) { int user_input_num = 0,user_output_num = 0; printf("本程序将在您输入一个数字后连续打印从该数字到大10的所有整数\n"); printf("请输入数字:"); scanf("%d",&user_input_num); user_output_num = user_input_num; printf("%d",user_output_num); while (user_output_num++ < user_input_num + 10) { printf(" %d",user_output_num); } printf("\n"); getchar(); return 0; } /*第3题*************************/ #include<stdio.h> int main(void) { int input_days,output_days,output_weeks; printf("Input days format days & weeks:"); scanf("%d",&input_days); output_days = input_days % 7; output_weeks= input_days / 7; printf("%d days are %d weeks, %d days.\n",input_days,output_weeks,output_days); getchar(); return 0; } /*第4题*************************/ #include<stdio.h> //#define CM_TO_INCH (1.0/2.54) int main(void) { double input_cm,output_inch; printf("Enter a height in centimeters:"); scanf("%lf",&input_cm); printf("%f",input_cm); while (input_cm > 0) { output_inch = input_cm / 2.54; printf("%.1f CM = %.1f inchs\n",input_cm,output_inch); printf("Enter a height in centimeters(<= 0 to quit):"); scanf("%Lf",&input_cm); } printf("bye\n"); getchar(); return 0; } /*第5题*************************/ /* addemup.c -- five kinds of statements */ #include <stdio.h> int main(void) /* finds sum of first 20 integers */ { int count, sum,days; /* declaration statement */ count = 0; /* assignment statement */ sum = 0; /* ditto */ days = 0; printf("How many days:"); scanf("%d",&days); while (count++ < days) /* while */ sum = sum + count; /* statement */ printf("sum = $%d\n", sum);/* function statement */ return 0; /* return statement */ } /*第6题*************************/ /* addemup.c -- five kinds of statements */ #include <stdio.h> int main(void) /* finds sum of first 20 integers */ { int count, sum,days; /* declaration statement */ count = 0; /* assignment statement */ sum = 0; /* ditto */ days = 0; printf("How many days:"); scanf("%d",&days); while (count++ < days) /* while */ sum = sum + count * count; /* statement */ printf("sum = $%d\n", sum);/* function statement */ return 0; /* return statement */ } /*第7题*************************/ #include<stdio.h> double cube(double n); int main(void) { double num; printf("Input a number:"); scanf("%lf",&num); num = cube(num); printf("The Number^3 is:%f\n",num); getchar(); return 0; } double cube(double n) { return n*n*n; } /*第8题*************************/ #include<stdio.h> int main(void) { int input_num,moduli_num,resoult; printf("This program computes moduli.\n"); printf("Enter an integer to save as the second operand:"); scanf("%d",&moduli_num); printf("Now enter the first operand:"); scanf("%d",&input_num); resoult = input_num % moduli_num; while (input_num > 0) { printf("%d %% %d is %d\n",input_num,moduli_num,resoult); if(0 == (moduli_num = resoult))/*当模=0时,下一次计算必定不能通过,直接退出循环*/ break; printf("Enter next number for first operand (<=0 to quite):"); scanf("%d",&input_num); resoult = input_num % moduli_num; } printf("Done\n"); getchar(); return 0; } /*第9题*************************/ /*输入dauble华摄氏度,并传入Temperatures() Temperatures()计算并显示华摄氏度、摄氏度、开氏温度,精确到小数点2位 Temperatures()中用const创建转换中使用的变量(转换比例 main()函数中创建一个循环让用户重复输入,直到输入'q'或其他非数字)*/ #include<stdio.h> void t_format(double hua_t); int main(void) { double inpt_val; printf("请输入需要转换的温度(华摄氏度):"); scanf("%lf",&inpt_val); while (1) { t_format(inpt_val); printf("输入'q' 以及非数字退出程序\n"); printf("请输入需要转换的温度(华摄氏度):"); if(scanf("%lf",&inpt_val) == 0) break; } printf("程序退出……\n"); getchar(); return 0; } void t_format(double hua_t) { const double kai_t_val = 273.16, she_t_val = 5.0 / 9.0; double she_t,kai_t; printf("华摄氏度: %.2f\n",hua_t); printf("摄氏度: %.2f\n",she_t = she_t_val * (hua_t - 32.0)); printf("开氏温度: %.2f\n",kai_t = she_t + 273.16); }
分类:
C语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」