函数练习题(C语言)带答案(3)

2019-08-30 21:36

1 5 2 3 2 4 7 8 5 1 3 2 The value is 15. 程序:

#include func(【1】) {

int 【2】,j;

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

b[3][j]=2*b[0][j]; printf(\ b[3][j]=0; }

printf(\ for(j=0;j<4;j++)

if(b[i][j]<5&&b[i][2]>5) k+=b[i][j]; return k; }

main() {

static int a[4][4]={ 【3】}; int i,j,k;

k=func(a,9); for(i=0;i<4;i++) {

for(j=0;j<4;j++) if(a[i][j]!=0)

printf(\ if(a[i][4]!=0) printf(\ }

printf(\}

【1】A)int b[4][],k B)int b[][4],k C)int b[4,4],int k D)int b[][4],int k 【2】A)i=0 B)i=1 C)i=2 D)i=3

【3】A) {1,5,2,3},{2,4,7,8},{5,1,3,2} B){2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2} C) {1,5,2,3},{2,4,7,8},{5,1,2,3} D){2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,2,3}

37. 以下程序的功能是用二分法求方程f(x)=x41+x3+1=0在区间(-1.0,-0.5)中的一个实

根,并要求绝对误差不超过0.001。二分法的基本思想是:假设在区间(a,b)中f(a)

与f(b)异号,先取区间的中点m,如果f(m)与f(a)异号,则取新的解区间为(a,m),否则取新的解区间为(m,b)。不断对解区间对分,直到解区间已经小于给定的误差时,取该区间的中点作为解的近似值。请将程序补充完整。 #include #include float f(float x) {

return (pow(x,41)+pow(x,3)+1); }

float solv(float a,float b) {

float m; m=(a+b)/2;

while(f(m)*f(b)!=0) {

if(【1】) a=m; else b=m; if(【2】) break; m=(a+b)/2; }

return m; }

main() {

float r;

r=solv(-1.0,-0.5);

printf(\【3】); }

【1】A)f(m)*f(b)<0 B)f(m)*f(b)>=0 C)f(m)*f(b)<=0 D)f(m)*f(b)>0 【2】A)b-a<0.001 B)fabs(a-b)<0.001 C)ABS(a-b)<0.001 D)a-b<0.001 【3】A)f(r) B)f(m) C) r D)m

38. 以下程序是选出能被3整除且至少有一位是5的所有三位正整数k(个位为a0,十位为a1,

百位为a2),打印出所有这样的数及其个数。请将程序补充完整。

#include sub(int m,int n) {

int a0,a1,a2; a2=【1】; a1=【2】; a0=m;

if(m%3==0 && (a2==5||a1==5||a0==5)) {

printf(“%d”,m);

n++; }

return n; }

main() {

int m=0,k;

for(k=105;k<=995;k++) m=sub(【3】); printf(\}

【1】A) m/10 B) m C) m/100 D) m0

【2】A) (m-a2*10)/10 B) m/10-a2*10 C) m-a2*10 D) m0-m 【3】A) k,m B) m,k C) k,n D) n,k

39. 以下程序可计算10名学生1门课成绩的平均分,要求使用无返回值函数实现。请将程

序补充完整。 #include

void average(float array[10]) { int i=0;

while(【1】)

array[0]+=【2】; array[i-1]=array[0]/10; }

main() {

float score[10]; int i;

printf(\ for(i=0;i<10;i++)

scanf(\ average(score);

printf(\【3】 ); }

【1】A)i<=10 B)i++<10 C)++i<10 D)i<10 【2】A)array[i-1] B)array[i] C)array[i--] D)array[i++] 【3】A)score[8] B)score[0] C)array[8] D)score[9]

40. 以下程序用于输入不超过N个数的整数序列(用-1作为输入结束标志),然后统计出

从M1至M2各数在序列中出现的次数并显示输出。请将程序补充完整。

#include #define N 100 #define M1 3 #define M2 7 main() {

int a[N],c[M2-M1+1]={0},i,n=0,x=0;

printf(\input a sequence of number(%d-%d) which is ended with

-1:\\n\ while(x!=-1) {

scanf(\ a[n]=x; n++; }

f(a,c,n);

printf(\ for(i=0;i<=M2-M1;i++)

printf(“%d:%d\\n”, 【1】); printf(\}

f(【2】) {

int i;

for(i=0;i

if(a[i]>=M1 && a[i]<=M2) 【3】; }

【1】A)M1+i:c[M1+i] B)M1+i+1:c[i]

C)M1+i:c[i] D)i:c[M1+i]

【2】A)f(a[],c[],n) B)f(int a[],int c[],int n)

C)f(a,c,n) D)f(int a[N],c[M2-M1+1],n) 【3】A)c[a[i]]++ B)c[a[i]-M2]++

C)a[c[i]]++ D)c[a[i]-M1]++

二.读程序写结果

1.

fun(int x,int y,int z) {

z =x*x+y*y; }

main ( ) {

int a=31; fun (6,3,a); printf (\}

2.

int f( ) {

static int i=0; int s=1; s+=i; i++; return s; }

main() {

int i,a=0;

for(i=0;i<5;i++) a+=f();

printf(\}

3. 运行程序时,若从键盘输入asd af aa z67(回车),分析以下程序的输出结果。

#include int fun(char *str) {

int i,j=0;

for(i=0;str[i]!=??;i++) if(str[i]!=??)

str[j++]=str[i]; str[j]=??; }

main() {

char str[81]; int n;

printf(\ gets(str); fun(str);

printf(\}

4.

void swap(int *p1,int *p2) {

int *t;

t=p1,p1=p2,p2=t;

printf(\}

main() {

int x=10,y=20; swap(&x,&y);

printf(\}


函数练习题(C语言)带答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:改革开放三十年我国卫生事业发展成就综述

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

马上注册会员

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