C语言上机题库百科园第5章!南信大! 联系客服

发布时间 : 星期五 文章C语言上机题库百科园第5章!南信大!更新完毕开始阅读3ecc8954a6c30c2258019e21

#include

void fun(char tt[],int pp[] ) {

/***************Begin************/

/*************** End ************/

}

void main( ) {

FILE *wf;

char aa[1000]; int bb[26], k; system(\

printf(\ scanf(\ fun(aa,bb);

for (k=0 ;k<26 ; k++) printf(\

/******************************/ wf=fopen(\ fun (\ for (k=0 ;k<26 ; k++)

fprintf(wf,\ fclose(wf);

/*****************************/ }

【参考代码】 int i;

for(i=0;i<26;i++) pp[i]=0; i=0;

for(;tt[i]!='\\0';i++)

if(tt[i]>='a'&&tt[i]<='z') pp[tt[i]-'a']++; 程序改错

/*下列给定程序中,函数fun的功能是:删除字符串s中所有空白字符(包括Tab符、回车符及换行符)。输入字符串时用\结束输入。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:*/

#include #include

#include fun(char *p)

{ int i, t; char c[80]; for(i=0,t=0;p[i];i++)

if(!isspace(*(p+i))) c[t++]=p[i]; /**********ERROR**********/ c[t]=\ strcpy(p,c); }

void main() {char c,s[80]; int i=0;

printf(\ c=getchar(); while(c!='#')

{ s[i]=c;i++;c=getchar();} s[i]='\\0'; fun(s); puts(s); }

【参考答案】 c[t]=0; c[t]='\\0';

/*下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和 a[1] 中的数对调。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:*/

#include #define N 20

/**********ERROR**********/ void fun(int a[],int n); {

int i, m, t, k; for(i=0; i

/**********ERROR**********/ m=0;

for(k=i+1; ka[m]) m=k; t=a[i]; a[i]=a[m];

a[m]=t; } }

void main() {

int b[N]={11,5,12,0,3,6,9,7,10,8},n=10,i; for(i=0; i

for(i=0; i

【参考答案】

void fun(int a[],int n) 【参考答案】 m=i;

/*下列给定程序中,函数fun的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。

请改正函数fun中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:*/

#include void fun() {

int a[3][3],sum; int i,j;

/**********ERROR**********/ sum=1;

for (i=0;i<3;i++)

{ for (j=0;j<3;j++) /**********ERROR**********/ scanf(\ }

for(i=0;i<3;i++) sum=sum+a[i][i]; printf(\}

void main() {

fun();

}

【参考答案】 sum=0; 【参考答案】

scanf(\

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: */

#include double fun(int x[]) {

/**********ERROR**********/ int sum=0.0; int c=0, I=0; while(x[I]!=0) {

if(x[I]>0) {

sum+=x[I]; c++; } I++; }

/**********ERROR**********/ sum=sum\\c; return sum; }

void main() {

int x[1000]; int i=0;

printf(\ do {

scanf(\ }while(x[i++]!=0); printf(\}

【参考答案】 double sum=0; double sum=0.0; float sum=0;