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

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(\}

5.

#include

void fun(int *s, int m, int n) {

int t;

while(m

{t=s[m]; s[m]=s[n]; s[n]=t; m++; n--;} }

main() {

Int a[5]={1,2,3,4,5},k; fun(a,0,4);

for(k=0;k<5;k++) printf(\ \}

6.

int fun(char s[]) {

int n=0;

while(*s<='9'&&*s>='0') {

n=10*n+*s-'0'; s++; }

return(n); }

main() {

char s[10]={'6','1','*','4','*','9','*','0','*'}; printf(\}

7.

#include Int fun(int x) {

int y;

if(x==0||x==1) return(3); y=x*x-fun(x-2) return y; }

main() {

int x,y;

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