摸鱼学习交流群:809125330
答案有误,或者一起学习的欢迎加群。
文字题目主要是提供搜索 排盘不准
群内有pdf答案文件
1. 编写一个程序,使用 printf 在屏幕上显示下面的图形:
#include <stdio.h>
int main(void) {
/* 利用字符串拼接更好的看出结果 */
printf(
" *\n"
" *\n"
" *\n"
"* *\n"
" * *\n"
" *\n"
);
return 0;
}
2. 编写一个计算球体体积的程序,其中球体半径为 10 m,参考公式 v = 4/3r 3 。注意,分数 4/3 应写为 4.0f/3.0f。(如果分数写成 4/3 会产生什么结果?)提示:C 语言没有指数运算符,所以需要对 r 自乘两次来计算 r 3 。
#include <stdio.h>
#include "my_util.h" /* 方便输入输出 用宏调用标准库中的函数 */
#define PI 3.1415926 /* PI的大致值 */
int main(void) {
double r = 10; /* 球的半径为10m */
println("球的体积是:%.2f", PI * r * r * r * 4 / 3); /* 隐式转换 */
return 0;
}
3. 修改上题中的程序,使用户可以自行输入球体的半径。
#include <stdio.h>
#include "my_util.h" /* 方便输入输出 用宏调用标准库中的函数 */
#define PI 3.1415926 /* PI的大致值 */
int main(void) {
double r; /* 球的半径 */
printf("输入球的半径:");
get_double(r);
println("球的体积是:%.2f", PI * r * r * r * 4 / 3); /* 隐式转换 */
return 0;
}
4. 编写一个程序,要求用户输入一个美元数额,然后显示出增加5%税率后的相应金额。格式如下所示: Enter an amount: 100.00 With tax added: $105.00
#include <stdio.h>
#include "my_util.h"
#define RATE 0.05
int main(void) {
double amount; /* 美元数额 */
printf("输入金额:");
get_double(amount);
println("加上税金:$%.2f", amount + amount * RATE);
return 0;
}
5. 编程要求用户输入 x 的值,然后显示如下多项式的值: 3x 5 +2x 4 5x 3 x 2 +7x6 提示:C语言没有指数运算符,所以需要对x进行自乘来计算其幂。(例如,x*x*x就是x的三次方。)
#include <stdio.h>
#include "my_util.h"
int main(void) {
double x; /* 多项式x */
printf("输入x的值:");
get_double(x);
println("多项式 3x^5+2x^4-5x^3-x^2+7x-6 的结果是:%f",
3 * x * x * x * x * x +
2 * x * x * x * x -
5 * x * x * x -
x * x +
7 * x -
6);
return 0;
}
6. 修改上题,用如下公式对多项式求值: ((((3x + 2) x 5)x 1)x + 7)x 6 注意,修改后的程序所需的乘法次数减少了。这种多项式求值方法即 Horner 法则。
#include <stdio.h>
#include "my_util.h"
int main(void) {
double x; /* 多项式x */
printf("输入x的值:");
get_double(x);
println("多项式 3x^5+2x^4-5x^3-x^2+7x-6 的结果是:%f",
((((3 * x + 2) * x - 5) * x - 1) * x + 7) * x - 6);
return 0;
}
7. 编写一个程序,要求用户输入一个美元数额,然后显示出如何用最少张数的 20 美元、10 美元、5 美 元和 1 美元钞票来付款: Enter a dollar amount: 93 $20 bills: 4 $10 bills: 1 $5 bills: 0 $1 bills: 3 提示:将付款金额除以 20,确定 20 美元钞票的数量,然后从付款金额中减去 20 美元的总金额。对 其他面值的钞票重复这一操作。确保在程序中始终使用整数值,不要用浮点数。
#include <stdio.h>
#include "my_util.h"
int main(void) {
int amount; /* 存放金额 */
printf("输入美元金额:");
get_int(amount);
/* 利用整除和取余 */
println("$20数量是:%d", amount / 20);
amount %= 20;
println("$10数量是:%d", amount / 10);
amount %= 10;
println(" $5数量是:%d", amount / 5);
amount %= 5;
println(" $1数量是:%d", amount);
return 0;
}
8. 编程计算第一、第二、第三个月还贷后剩余的贷款金额: Enter amount of loan: 20000.00 Enter interest rate: 6.0 Enter monthly payment: 386.66 Balance remaining after first payment: $19713.34 Balance remaining after second payment: $19425.25 Balance remaining after third payment: $19135.71 在显示每次还款后的余额时保留两位小数。提示:每个月的贷款余额减去还款金额后,还需要加上 贷款余额与月利率的乘积。月利率的计算方法是把用户输入的利率转换成百分数再除以 12。
#include <stdio.h>
#include "my_util.h"
int main(void) {
double loan; /* 欠款数量 */
double rate; /* 利率 */
double repayment; /* 每月还款 */
printf("输入贷款的数额:");
get_double(loan);
printf("输入利率:");
get_double(rate);
printf("输入每月还款:");
get_double(repayment);
rate /= 1200; /* 注意需要转化为月利率 */
println("第1个月还款后剩余借款:%.2f", loan = loan - repayment + loan * rate);
println("第2个月还款后剩余借款:%.2f", loan = loan - repayment + loan * rate);
println("第3个月还款后剩余借款:%.2f", loan = loan - repayment + loan * rate);
return 0;
}