C语言练习题答案

以下为程序的输出示例: Please input x and y: 1.2,3.4↙ result=13.00

输入格式: \

输出格式:

输入提示信息:\输出格式:\答案:

#include #include main() {

float x,y,z;

printf(\ scanf(\ z = pow(x,2) + pow(y,2); printf(\}

————————————————————————————————19 20.

写一个程序从键盘输入两个整数,然后显示第1个整数占第二个整数的百分比,保留到小数点后1位。例如输入5和40,程序输出结果如下: 5 is 12.5 percent of 40

**输入格式要求:\提示信息:\请输入两个整数:\**输出格式要求:\答案:

#include main() {

int a, b; float c;

printf(\请输入两个整数:\ scanf(\ c = (float)a / (float)b; c = c *100;

printf(\}

----------------------------------20 21.

求三角形面积。输入三角形的三个边长,计算三角形的面积。设三角形的三个边长分别为a、b、c,为简单起见,我们认为输入的三个边长数据是正确的,可以组成一个三角形。 **输入格式要求:\提示信息:\**输出格式要求:\程序运行示例如下: Enter 3 floats:2,2,3 area=1.98 答案:

#include #include int main(void) {

float a, b, c, s, area; printf(\ scanf(\ s = (a + b + c) / 2;

area = sqrt(s*(s - a)*(s - b)*(s - c)); printf(\ return 0; }

------------------------------------------21 22.

写一个程序计算长为11.5厘米,宽为2.5厘米,高为10厘米的盒子的体积和表面积。 程序说明:采用直接赋值,不用输入。 **输出格式要求\答案:

#include main() {

float a, b;

a = (11.5 * 2.5 + 11.5*10 +10 * 2.5)*2; b = 11.5 * 2.5 * 10;

printf(\} 23.

用递归方法计算整数n的阶乘n!。

**输入格式要求:\提示信息:\**输出格式要求:\程序运行示例如下: Input n:5 5! = 120 答案;

#include int f(int n)

{

if(n==1 ||n==0) return 1; else

return n * f(n - 1); } main() {

int n;

o: printf(\ scanf(\ while (n<0) {

printf(\ goto o; }

printf(\}

------------------------------------23 24.

用递归方法编程计算Fibonacci数列的前N项。其中fib(0)=0,fib(1)=1,fib(n)=fib(n-1)+fib(n-2)。 **输入格式要求:\提示信息:\**输出格式要求:\程序运行示例如下: Input n:10 Fib(1)=1 Fib(2)=1 Fib(3)=2 Fib(4)=3 Fib(5)=5 Fib(6)=8 Fib(7)=13 Fib(8)=21 Fib(9)=34 Fib(10)=55 答案:

#include int Fib(int n) {

if (n == 0) return 0; else if (n == 1) return 1; else

return Fib(n - 1) + Fib(n - 2); } main() {

int n, a;

printf(\ scanf(\ for (a = 1; a <= n;a++) {

printf(\ } }

--------------------------------------------24 25.

利用求阶乘函数Fact(),编程计算并输出从1到n之间所有数的阶乘值。 **输入格式要求:\提示信息:\**输出格式要求:\程序运行示例如下: Input n(n>0):10 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 答案:

#include

int sum_s(unsigned int i) {

unsigned int a; for(a = 1;i;i--) {

if (i > 1) a = a * i; else

a = a * 1; }

return a; }

int Fact(unsigned int n)

联系客服:779662525#qq.com(#替换为@)