红皮书 - C语言程序设计实用教程参考答案(5)

2020-02-22 12:04

习题7

1. (B) void f(int,int,int); 2. (C) void add(int x,int y){

}

3. 37 4. 10 5.A 6. 9,6 7. 7 8. 6,12 9. 6,6

10. 290 11.

#include #include

float tringle(float,float,float); int main(){ float a,b,c,tringle_area; printf(\请输入三角形的三边的值: \ scanf(\ tringle_area=tringle(a,b,c); printf(\三角形的面积是: %.2f\\n\ return 0; }

float tringle(float a,float b,float c){ float s,p; p=(a+b+c)/2.0f; s=(float)sqrt(p*(p-a)*(p-b)*(p-c)); return s; } 12.

#include void f(int n); int main(){ int n=200; printf(\以下输出1至200之间的全部素数\\n\ f(n); return 0;

}

void f(int n){ int i,j; int isPrimNumber =1; //记录i是否是素数的变量 int count =0; //存放数素的个数 for(i=1;i<=n;i++){ for(j=2,isPrimNumber=1;j<=i/2;j++){//该循环语句负责寻找i的因子 if(i%j==0){ isPrimNumber = 0; //一旦找到因子,就记录i不是素数 break; //结束内循环(没必要找到多个因子) } } if(isPrimNumber){ count++; printf(\ if(count%6==0) //打印6个素数之后输出一个回行 printf(\ } } } 13.

#include void g(int n); int main(){ int n=9000; printf(\以下输出1至9000之间的全部完数\\n\ g(n); return 0; }

void g(int n){ int sum,i,j; for(i=1;i<=n;i++){ for(j=1,sum=0;j<=i/2;j++){ //该循环语句负责计算i的因子之和 if(i%j==0){ sum=sum+j; } } if(sum==i){ //判断i的因子之和是否等于i printf(\是一个完数\\n\ }

} 14.

}

#include double pi(int n); int main(){ double p1=0,p2=0; p1=pi(200); p2=pi(10000); printf(\ printf(\ return 0; }

double pi(int n){ int a=1,t=1; double item=1.0/a,sum=0; while(a<=n) { sum=sum+t*item; t=-t; a=a+2; item=1.0/a; }

return 4*sum; } 15.

#include long f(int n); int main(){ long number=f(100);

printf(\数列的第100项为%ld\\n\ return 0; }

long f(int n){ long result; if(n==1) result = 10; else if(n >=2) result = 3*f(n-1)+1; //调用自身 return result; }

习题8

1.(B)

2.2,0

3. a[0] 的元素值是 {1,2,0},a[1] 的元素值是{3,1,0},a[2]的元素值是{0,0,0} 4.破坏了先定义后使用的原则,非法使用内存,蕴含着破坏性的危险。 5.(C) 程序输出的结果无法确定。 6. 2 7 9 5 3 1

7. 9 7 5 3 2 1 8. 1 88 5 99 8

9. 11 21 31 41 51 61

10. 10 9 3 4 5 6 7 8 2 1

11.

#include

void sortQipao(int [],int); //起泡排序函数的原型 int main(){ int a[10],i;

for(i=0;i<10;i++){ scanf(\ }

sortQipao(a,10); for(i=0;i<10;i++){ printf(\ } return 0; }

void sortQipao(int a[],int N){ int m,i,t;

for(m = N-1; m>=0;m--) { for(i = 0;i < m;i++){ if(a[i]

#include

double scoreAverage(int a[],int N); //程序输出平均成绩的函数的原型。

void sortQipao(int [],int); //起泡排序函数的原型,用于学生成绩排序 int scoreMax(int a[],int N); //输出最高成绩的函数的原型 int scoreMin(int a[],int N); //输出最低成绩的函数的原型 int main(){

int score[10],i; for(i=0;i<10;i++){ scanf(\ }

printf(\平均成绩为: %f\\n\verage(score,10)); sortQipao(score,10);

printf(\排序后的成绩为:\ for(i=0;i<10;i++){ printf(\ }

printf(\

printf(\最高成绩为: %d\\n\ printf(\最低成绩为: %d\\n\ return 0; }

void sortQipao(int a[],int N){ //起泡排序函数,用于学生成绩排序 int m,i,t;

for(m = N-1; m>=0;m--) { for(i = 0;i < m;i++){ if(a[i]

double scoreAverage(int a[],int N){ //输出平均成绩的函数 int i,sum=0; double result; for(i=0;i

}

result=sum*1.0/N; return result; }

int scoreMax(int a[],int N){ //输出最高成绩的函数 int i,max=a[0];


红皮书 - C语言程序设计实用教程参考答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:项目融资计划书模板

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: