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

2020-02-22 12:04

for(i=1;ireturn max;

}

int scoreMin(int a[],int N){ //输出最低成绩的函数 int i,min=a[0]; for(i=1;ia[i]) min=a[i]; }

return min; } 13.

#include

float otherSum(float a[3][3]); //计算3×3矩阵的反对角线之和函数的原型 int main(){

float a[3][3] = {{1.12f,2.97f,0.3f},{4.76f,0.05f,1.6f},{7.88f,1.81f,2.9f}}; printf(\矩阵A的反对角线元素之和:%f\\n\ return 0; }

float otherSum(float a[3][3]){ float sum = 0;

int i,j; //控制循环的变量 for(i=0;i<3;i++){ for(j=0;j<3;j++){ if(i==(2-j)){ sum = sum +a[i][j]; } } }

return sum; } 14.

#include int main(){

int i=0,j=0,k=0;

float a[3][3] = {{1.12f,2.97f,0.3f},{4.76f,0.05f,1.6f},{7.88f,1.81f,2.9f}}; float b[3][3] = {{1.0f,2.0f,3.0f},{4.0f,5.0f,6.0f},{7.0f,8.0f,9.0f}}; float c[3][3]={0}; for(i=0;i<3;i++){

} 15.

for(j=0;j<3;j++){ for(k=0;k<3;k++){ c[i][j] = c[i][j]+a[i][k]*b[k][j]; } } }

for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf(\ \ }

printf(\}

return 0;

#include

void rowQipao(int a[],int N); int main(){

int i=0,j=0;

int a[3][4] = {{7,2,0,4},{4,2,6,7},{7,8,9,1}}; for(i=0;i<3;i++){ rowQipao(a[i],4); }

for(i=0;i<3;i++){ for(j=0;j<4;j++){ printf(\ \ } printf(\ }

return 0; }

void rowQipao(int a[],int N){ //起泡排序函数,用于数组的每行绩排序 int m,i,t;

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

习题9

1. (C)

2.能通过编译。但为地址值是12的内存赋值,运行有危险,发生系统异常. 3. p+1值是1005,p-2的值是993。 4. 10,8 10,8,80 5. 3,2 2,3 6. 30,-20 7. -20,30 8. 12,16,40 9.

#include #define N 100

int get(int,int *); //函数原型 int main(){ int count = 0; }

int sum;

sum = get(N,&count); //将count的地址传递给函数,并得到函数的返回值 printf(\之间能被3和7同时除尽的整数的个数是%d\\n\printf(\之间能被3和7同时除尽的整数和是 %d\\n\return 0;

int get(int n,int *p){ int i,sum = 0; } 10.

for(i=1;i<=n;i++){ if((i%3==0 ) && (i%7==0)){ (*p)++; //p间接访问main 函数中的count

sum = sum+i;

} }

return sum;

#include #define M 100 #define N 200

void getPrimNmber (int,int ,int *) ;//函数原型 int main(){ int count = 0;

getPrimNmber(M,N,&count); //将count的地址传递给函数,并得到函数的返回值 printf(\之间的素数的个数是%d\\n\

return 0; }

void getPrimNmber (int m,int n,int *p){ int i,j;

int isPrimNumber =1; //记录i是否是素数的变量 for(i=m;i<=n;i++){ for(j=2,isPrimNumber=1;j<=i/2;j++){//该循环语句负责寻找i的因子 if(i%j==0){ isPrimNumber = 0; //一旦找到因子,就记录i不是素数 break; //结束内循环(没必要找到多个因子) } } if(isPrimNumber){ (*p)++; //p间接访问main 函数中的count //k++; printf(\ if((*p)%6==0) //打印6个素数之后输出一个回行 printf(\ } } }

习题10

1. (C)

2. 能通过编译,运行有危险,p=p+1;将指针指向数组a最后一个元素的后面,*p = -111;这种赋值就很危险。 3. 500 4.600 5. 5 6. 6

6 100 7.100,300 8. 300

102 9. 5,17 10.

#include int main(){

int a[4][3] = {{88,78,77},{69,98,80},{90,88,90},{66,97,95}}; int *p[4]; int i,j;

p[0] =&a[0][0]; p[1] =&a[1][0];

p[2] =&a[2][0]; p[3] =&a[3][0];

for(i=0;i<4;i++){ //排序数组p }

for(j=i+1;j<4;j++){ if(p[j][1]>p[i][1]){ }

}

int * t; t=p[i]; p[i]=p[j]; p[j]=t;

for(i=0;i<4;i++){

for(j=0;j<3;j++){ }

printf(\


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

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

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

马上注册会员

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