计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素的平均值的平方根之和。 例如,若给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0,11.0,则输出应为S=35.951014。 注意:请勿改主动函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include<stdio.h> #include<math.h> double fun(double x[9]) { } main() {double s,a[9]={12.0,34.0,4.0,23.0,34.0,45.0,18.0,3.0,11.0}; int i; FILE *out; printf("\nThe original data is:"); for(i=0;i<9;i++) printf("%6.1f",a[i]); printf("\n"); s=fun(a): printf("s=%f\n",s); /************/ out=fopen("out.dat","w"); fprintf(out,"%f",s); fclose(out); /************/ }
进入题库练习
问答题(补充每对/**/之间的程序段,完成题目的要求)
进入题库练习
问答题下列程序中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,则多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#define SIZE 20fun(double*s,double*W){ int k,i;double sum; for(k=2,i=0 ; i<SIZE;i++) { S[i]=k;k+=2;}/*********found*********/ sun=0.0; for(k=0,i=0;i<SIZE;i++) { sum+=s[i];/*********found*********/ if(i+1%5==0) {w[k]=sum/5;sum=0; k++;} } returrl k;}main() {double a[SIZE],b[SIZE/5]; int i,k; k=fun(a,b); printf("The original data:\n"); for(i=0;i<SIZE;i++) { if(i%5==0)printf("\n"); printf("%4.0f",a[i]); } printf("\n\nThe result:\n"); for(i=0;i<k;i++) printf("%6.2f",b[i]); printf("\n\n"); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK,调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include void fun(char *p, char *b) { int i, k=0; while(*p) { i=1; while( i<=3 k++; p++; i++; } if(*p) { /**********found**********/ b[k++]=" "; } } b[k]='/0'; } main() { char a[80],b[80]; printf("Enter a string: "); gets(a); printf("The original string: "); puts(a); fun(a,b); printf("/nThe string after insert space: "); puts(b); printf("/n/n"); }
进入题库练习
问答题给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 计算结果为 1 0 0 6 5 0 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 /*********found**********/ void fun(int (*t)【1】) { int i, j; for(i=l; i
进入题库练习
问答题给定程序中,函数fun的功能是:计算X所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并在主函数中输出。 例如,有10个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。 主函数中输出m=30。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构! 试题程序: 1 #include<Stdlib.h> 2 #include<Stdio.h> 3 #define N 10 4 double fun(double X[],double*av) 5 {int i,j;double d,S ; 6 s=0; 7 for(i=0,i<N,i++)s=s+x[i]; 8 /*********found*********/ 9 【1】 =S/N; 10 d=32767; 11 for(i=0;i<N;i++) 12 if(x[i]<*av&&*av-x[i]<=d){ 13 /*********found*********/ 14 d=*av-x[i]; 15 j= 【2】 ; 16 } 17 /*********found*********/ 18 return 【3】 ; 19 } 20 main() 21 {int i;double x[N],av,m; 22 for(i=0;i<N;i++) 23 { x[i]=rand()%50; 24 printf("%4.0 f",x[i]);} 25 printf("\n"); 26 m=fun(x,&av); 27 printf("\nThe average is:%f\n”,av); 28 printf("m=%5.1 f",m); 29 printf("\n"); 30 }
进入题库练习
问答题下列给定程序中,函数proc()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量num1中的值原为2,num2中的值原为1,程序运行后,num1中的值为1,num2中的值为2。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> int proc(int*x, int y) { int t; //****found**** t=x; x=y; //****found**** return(y); } void main() { int num1=2, num2=1; system("CLS"); printf("%d%a/n", num1, num2); num2=proc( printf("%d%d/n", num1, num2); }
进入题库练习
问答题给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长<N。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在 下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include<stdio.h> #include<string.h> #define M 5 #define N 20 void fun(char(*ss)[N]) {int i, j, k, n[M]; char t[N]; for(i=0; i<M; i++) n[i]=strlen(ss[i]); for(i=0; i<M-1; i++) {k=i; /**********found**********/ for(j=______; j<M; j++) /**********found**********/ if(n[k]>n[j])______; if(k!=i) {strcpy(t, ss[i]); strcpy(ss[i], ss[k]); /**********found**********/ strcpy(ss[k], ______); n[k]=n[i]; } } } main() {char ss[M][N]={"shanghai", "guangzhou", "beijing", "tianjing", "cchongqing"); int i; printf("/nThe original strings are:/n"); for(i=0; i<M, i++)printf("%s/n", ss[i]); printf("/n"); fun(ss); printf("/nThe result:/n"); for(i=0; i<M; i++)printf("%s/n", ss[i]); }
进入题库练习
问答题下列给定程序中,函数fun的功能是计算下式直到≤10-3,并将计算结果作为函数值返回。例如,若形参e的值为1e一3,函数的返回值为2.985678。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(doublee){inti;doubles,x;/*********found*********/s=0;i=【1】;x=1.0;while(x>e){/*********found*********/【2】;/*********found*********/x=(2.0*i—1)/((【3】)*(2.0*i));s=s+x;}returns;}main(){doublee=1e一3;printf("\nTheresultis:%f\n",fun(e));}
进入题库练习
问答题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include<stdio.h> void fun(char *a) { } main() {char s[81]; void NONO(); printf("Enter a string:/n"); gets(s); fun(s); printf("The string after deleted:/n"); puts(s); NONO(); } void NONO() {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out; int i; char s[81]; in=fopen("in.dat", "r"); out=fopen("out.dat", "w"); for(i=0; i<10; i++) { fscanf(in, "%s", s); fun(s); fprintf(out, "%s/n", s); } fclose(in); fclose(out); }
进入题库练习
问答题由N个有序整数组成的数列己放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回—1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high( lowhigh,查找结束。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构。 #include #define N 10 void fun(int a[] int m) { int low=0,high=N—1,mid; while (low a[mid]) low=mid+1; else return (mid) ; } return (—1) ; main ( ) { int i,a [N]={—3,4,7,9,13,45,67, 89,100,180 },k,m; printf ( "a数组中|y|数据如下: ") ; for (i=0;i
进入题库练习
问答题给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在 下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include<stdio.h> #include<stdlib.h> #define N 8 typedef struct list {int data; struct list *next; } SLIST; SLIST *creatlist(char *); void outlist(SLIST *); int fun(SLIST *h, char ch) {SLIST *p; int n=0; p=h->next; /**********found**********/ while(p!=______) { n++; /**********found**********/ if(p->data==ch)return______; else p=p->next; } return 0; } main() {SLIST *head; int k; char ch; char a [N]={"m", "p", "g", "a", "w", "x", "r", "d"}; head=creatlist(a); outlist(head); printf("Enter a letter:"); scanf("%c", /**********found**********/ k=fun(______); if(k==0)printf("/nNot found!/n"); else printf("The sequence number is : %d/n", k); } SLIST *creatlist(char *a) {SLIST *h, *p, *q; int i; h=p=(SLIST*)malloc(sizeof(SLIST)); for(i=0; i<N; i++) {q=(SLIST*)malloc(sizeof(SLIST)); q->data=a[i]; p->next=q; p=q; } p->next=0; return h; } void outlist(SLIST *h) {SLIST *p; p=h->next; if(p==NULL)printf("/nThe list is NULL!/n"); else {printf("/nHead"); do {printf("->%c", p->data); p=p->next;} while(p!=NULL); printf("->End/n"); } }
进入题库练习
问答题下列给定函数中,函数fun的功能是:统计字符串中各元音字母(即A、E、I、O、U)的个数。注意:字母不分大小写。 例如,输入”THls is a boot”,则应输出是1 0 2 2 0。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include < stdlib.h >#include < conio.h >#include < stdio.h >/*********found*********/fun (char * s, int num[ 5 ] ){ int k, i=5;for(k=0,k < i;k++)/*********found*********/ num[i] =0;/*********found*********/ switch (s) { case'a': case'A': {i = 0 ;break; } case 'e': case 'E' : {1 =1;break; } case 'i': case 'I': {1 =2;break; } case 'o': case 'O': {1 =3;breakf } case 'u': case 'U': {1 =4;break; } {i=4 ; break;} } if(i >=0) num[i]++; }}void main(){char s1[81];int numl[5],i; system("CLS"), printf("/nPlease enter astring:"); gets(s1); fun(s1,num1); for(i=0;i < 5;i++) printf("%d",numl[i]); printf("/n");}
进入题库练习
问答题给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(int *px,int *py) { int (1) ; scanf ( "%d",&k) ; while ____(2)____ } main () {int x,y; printf ( "x=%d y=%d/n",x,y) ; }
进入题库练习
问答题函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。例如,若s所指字符串中的内容为”ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是"BDFl2345"。注意:部分源程序在文件PROG1.C中。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<string.h>void fun(char*,char t[]){}main(){ char s[100],t[100];void NONO(); printf("\nPlease enter string S:"); scanf("%s",s); fun(s,t); printf("\nThe result is:%s\n",t); NONO();}void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ char S[100],t[100]; FILE* rf,(wf; int i; rf=fopen("in.dat","r"); wf=fopen("out.dat","W"); for(i=0;i<10;i++){ fscanf(rf,"%s",s); fun(s,t); fprintf(wf,"%s\n",t); } fclose(rf); fclose(wf); }
进入题库练习
问答题给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#include < stdlib.h >#define N 2 0int fun(int,*b){/*********found*********/ int t[N],i,num for(i=0 ; i < N;i++) if(b[i] >=10)/*********found*********/ t[++num]=b[i];/*********found*********/ for(i=0;i < nun;i++) b[i]=t[i]; return(num);}main(){int a[N],i,num; printf("a数组中的数据:/n"); for(i=0;i < N;i++) {a[i]=rand()%21; printf("%4 d",a[i]);)printf("/n");num=fun(a);for(i=0;i < num;i++) printf("%4 d",a[i]); printf("/n");}
进入题库练习
问答题改错题 下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。 y=1-1/(2×2)+1/(3×3)-1/(4×4)+…+(-1)(m+1)/(m×m) 例如:m中的值为5,则应输出0.838611。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include double fun(int m) { double y=1.0; /**********************found***********************/ int j=1; int i; for(i=2; i<=m; i++) { j=-1*j; /**********************found***********************/ y+=1/(i * i); } return(y); } main() { int n=5; clrscr(); printf("/nThe result is %lf/n" ,fun(n)); }
进入题库练习
问答题给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。 例如,主函数中输入字符串”32486”和”12345”,在主函数中输出的函数值为44831。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构! 试题程序: 1 #include<stdio.h> 2 #include<string.h> 3 #include<ctype.h> 4 #define N 9 5 long ctod(char*s) 6 { long d=0; 7 while(*S) 8 if(isdigit(*s)) { 9 /*********found*********/ 10 d=d*10+*s- 【1】 ; 11 /*********found*********/ 12 【2】 ; 13 } 14 return d; 15 } 16 long fun(char*a,char*b) 17 { 18 /*********found*********/ 19 return 【3】 ;j 20 } 21 main() 22 { char s1[N],s2[N]; 23 do 24 { printf("Input string s1:"); 25 gets(s1);} 26 while(strlen(s1)>N); 27 do 28 {printf("Input string s2:"); 29 gets(s2);} 30 while(strlen(s2)>N); 31 printf("The result is:%ld\n",fun(s1,s2)); 32 }
进入题库练习
问答题假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数proc()的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。 请修改程序中的错误,使它能够得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> #define M 20 int proc(int*art, int n, int x) { int p=0, i; arr[n]=x; while(x!=arr[p]) p=p+1; if(p==n)return-1; else { for(i=p; i<n; i++) //****found**** arr[i+1]=arr[i]; return n-1; } } void main() { int arr[M]={-3, 0, 1, 5, 7, 99, 10, 15, 30, 90}, x, n, i; n=10; printf("The original data: /n"); for(i=0; i<n; i++)printf("%5d", arr[i]); printf("/nInput x(to delete): "); scanf("%d", printf("Delete: %d/n", x); n=proc(arr, n, x); if(n==-1) printf("***No be found!***/n/n"); else { printf("The data after deleted: /n"); for(i=0; i<n; i++) printf("%5d", arr[i]); printf("/n/n"); } }
进入题库练习
问答题请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如:二维数组中的值为: 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为61。 注意:部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h>#define M 4#define N 5int fun(int a[M][N]){}main(){Int aa[M][N]={{1,3,5,7,9},{2,9,9,9,4),{6,9,9,9,8},{1,3,5,7,0}}; int i,j,y;void NONO();printf("The original data is:\n"); for(i=0;i<M;i++) { for (j=0; j<N;j++)printf("%6d",aa[i][j]); printf("\n"); } y=fun(aa); printf("\nThe sum:%d\n",y); printf("\n"); NONO();}void NONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int i,j,y,k,aa[M][N]; FILE *rf,*wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","W"); for(k=0;k<10;k++){ for(i=0;i<M;i++) for(j=0; j<N; j++)fscanf(rf,"%d",&aa[i][j]); y=fun(aa); fprintf(wf,"%d\n",y); } fclose(rf); fclose(wf);}
进入题库练习