计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题下列给定程序中,函数fun的功能是:将一个由八进制数字字符组成的字符串转换成十进制整数。规定输入的字符串最多只能包含S位八进制数字字符。 例如,若输入77777,则输出32767。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<stdlib.h> #include<string.h> int fun(char*p) { int n; /********found********/ n=*p-"o"; p++; while(*p!=0) { /********found********/ n=n*8+*p-"o"; p++; } return n; } main() { char s[6]; int i; int n; printf("Enter a string(octal digits):"); gets(s); if(strlen(s)>5) { printf("Error;string too longer!/n/n"); exit(0); } for(i=0;s[i];i++) if(s[i]<"0"||s[i]>"7") { printf("Error;%c not is octal digits!/n/n",s[i]); exit(0); } printf("The originl string:"); puts(s); n=fun(s); printf("/n%s is convered to intege number:%d/n/n",s,n); }
进入题库练习
问答题给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。 例如:当输入100时,输出:100=9+10+11+12+13+14+15+16 100=18+19+20+21+22 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> void fun(int n) {int j,b,c,m,flag=0; for(b=1;b<=n/2;b++){ /**********found**********/ n=m; c=b; while(m!=0 for(j=b;j<c-1;j++)printf("%d+",j); printf("%d/n",j); flag=1; } } if(flag==0) printf("不能分解/n"); } main() {int n; printf("请输入一个整数:");scanf("%d", fun(n); }
进入题库练习
问答题给定程序中,函数fun的功能是: 判定形参a所指的NxN(规定N为奇数)的矩阵是否是”幻方”,若是,函数返回值为1;若不是,函数返回值为0。”幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个”幻方”: 4 9 2 3 5 7 8 1 6 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include #define N 3 int fun(int(*a)[N]) {int i , j , m1 , m2 , row , colum; m1=m2=0; for(i=0;i【1】 ; for(j=0;j < N;j++) {row+=a[i][j]; colum += a[ j ] [i] ; /*********found*********/ if ((row! =colum) 【2】 (row! =m1) return 0; } /*********found*********/ return【3】; } main() int x[N] [N],i,j ; printf ( " Enter number for arrav:/n”); for(i=0;i < N;i++) for(j=0;j < N;j++) scanf("%d",&x[i][j]); printf ( "Array: /n") for(i=0 j i < N; i++) {for(j=0;j < N;j++) printf ("% 3d",x[ i] [ j ] ); printf ("/n") ; if (fun (x)) printf ( " The Array is a magic square. /n"); else printf ("The Array isn't a magic square./n") ; }
进入题库练习
问答题给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<stdlib.h>3 typedef struct aa4 { int data;5 struct aa *next;6 } NODE;7 NODE *Creatlink(int n,int m)8 {NODE * h=NULL,*p,*s;9 int i;10 /**********found**********/11 p=(NODE)malloc(sizeof(NODE));12 h=p;13 { p->next=NULL;14 for(i=1;i<=n;i++)15 {s=(NODE *)malloc(sizeof(NODE));16 s->data=rand()%m; s->next=p->next;17 p->next=s;p=p->next;18 }19 /**********found**********/20 return p;21 }22 outlink(NODE *h)23 { NODE *p;24 p=h->next;25 printf(''\nXnTHE LIST:\n\n HEAD'');26 while(p)27 { printf(''->%d'',p->data);28 p=p->next;29 }30 printf(''\n'');}31 main()32 { NODE *head;33 head=Creatlink(8,22);34 outlink(head);}
进入题库练习
问答题请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。 例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。 注意:要求n的值大于2但不大于100。部分源程序给出如下。清勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 [试题源程序] #include<math.h> #include<stdio.h> double fun(int n) main() int n; double sum; printf("/n/nInput n:"); scanf("%d",&n); sum=fun(n); printf("/n/nsum=%f/n/n",sum);
进入题库练习
问答题请编写函数proc(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如,若二维数组中的值为: 0 1 2 3 4 5 9 7 4 5 4 3 8 3 6 3 5 6 8 7 则函数值为59。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #define M 4 #define N 5 int proc(int a[M][N]) { } void main() { int aa[M][N]={{0, 1, 2, 3, 4}, {5, 9, 7, 4, 5}, {4, 3, 8, 3, 6}, {3, 5, 6, 8, 7}}; int i, j, y; system("CLS"); 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=proc(aa); printf("/nThe sun: %d/n", y); printf("n"); }
进入题库练习
问答题编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和干位上,b数的十位和个位数依次放在c数的百位和个位上。 例如,当a=45,b=12时,调用该函数后,c=5142。 注意 :部分源程序给出如下。数据文件INDAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。 试题程序: #include <stdlib.h> #include <stdio.h> #include <conio.h> void fun(int a ,int b,long *c) { } void main() { int a,b; long c; system("CLS"); printf("Input a,b:"); scanf("%d%d", fun(a,b, printf("The result is:%ld/n",c); }
进入题库练习
问答题给定程序MODI1.C的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。 例如,若输入整数:2310,则应输出:2、3、5、7、11。 请改正程序中的语法错误,使程序能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include /************found************/ IsPrime ( int n ); { int i, m; m = 1; for ( i = 2; i < n; i++ ) /************found************/ if !( n%i ) { m = 0; break ; } return ( m ); } main( ) { int j, k; printf( "/nPlease enter an integer number between 2 and 10000: " ); scanf( "%d", printf( "/n/nThe prime factor(s) of %d is( are ):", k ); for( j = 2; j <= k; j++ ) if( ( !( k%j ) ) printf("/n"); }
进入题库练习
问答题编程题 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:使数组右上半三角元素中的值全部置成0。例如a数组中的值为 a=4 5 6 1 7 9 3 2 6, 则返回主程序后a数组中的值应为 0 0 0 1 0 0 3 2 0 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include #define N 5 int fun (int a[][N]) { } main() { int a[N][N],i,j; clrscr(); printf("*****The array*****/n"); for(i=0;i
进入题库练习
问答题给定程序MODI1.C中 fun 函数的功能是: 根据形参m,计算如下公式的值。 1 1 1 1 t = 1 + ----- +----- + ----- + ……+ ----- 2 3 4 m 例如,若输入 5,则应输出 2.283333。 请改正程序中的错误或在下划线处填上适当的内容并把下划线删除, 使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include double fun( int m ) { double t = 1.0; int i; for( i = 2; i <= m; i++ ) /**********found**********/ t += 1.0/k; /**********found**********/ ________ } main() { int m; printf( "/nPlease enter 1 integer number:" ); scanf( "%d", printf( "/nThe result is %lf/n", fun( m ) ); }
进入题库练习
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 文件PROG1.C内容如下: #include<stdio.h> #define N 12 typedef struet char Hum[10]; double s; STREC; double fun(STREC *a,STREC *b,int *n) void main( ) STREC s[N]="GA05",85,"GA03",76,"GA02",69,"GA04",85, "GA01",91,"GA07",72,"GA08",64,"GA06",87, "GA09",60, "GA11",79,"GA12",73,"GA10",90; STREC h[N],t; FILE *out; int i,j,n; double ave; ave=fun(s,h,&n); printtf("The%d student data which is higher than%7.3f: /n",n,ave); for(i=0;i<n;i++)printf("%s%4.1f/n",h[i].num,h[i].s); printf("/n"); out=fopen("out.dat","w"); fprintf(out,"%d/n%7.3f/n",n,ave); for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(h[i].s<h[j].s)t=h[i];h[i]=h[j];h[j]=t; for(i=0;i<n;i++)fprintf(out,"%4.1f/n",h[i].s); fclose(out);
进入题库练习
问答题下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。SS所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<string.h> #define N 5 #define M 10 int fun(char(*ss)[M],int k) {int i,j=0,len; /*********found*********/ for(i=0;i< 【1】 ;i++) {len=strlen(ss[i]); /*********found*********/ if(len<= 【2】 ) /*********found*********/ strcpy(ss[j++], 【3】 ); } return j; } void main() { char x[N][M]={"Beijing","Shanghai","Tianjin","Nanjing","Wuhan"); int i,f; printf("\nThe original string\n\n"); for(i=0;i<N;i++)puts(x[i]); printf("\n"); f=fun(x,7); printf("The string witch length is less than or equal to7:\n"); for(i=0;i<f;i++)puts(x[i]); printf("\n"); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。SS所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构! #include #include #define N 5 #define M 10 int fun(char(*ss)[M],int k) {int i,j=0,len; /**********found**********/ for(i=0;i<【1】;i++) {len=strlen(ss[i]); /**********found**********/ if(1en<=【2】) /**********found**********/ strcpy(ss[j++],【3】); } return j; } main() {char x[N][M]={''Beijing'',''Chongqing'',''Tianjin'',''Nanjing'',''Guangzhou''}; int j,f; printf(''\nThe original string\n\n); for(i=0;i<N;i++) puts(x[i]); printf(''\n''); f=fun(x,7); printf(''The string witch length is less than or equal to 7:\n''); for(i=0;i<f;i++)puts(x[i]); printf(''\n''); }
进入题库练习
问答题请编写一个函数void fun(char *tt,int pp[]),统计在tt所指字符串中“'a'"到“'z'”26个小写字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include void fun(char *tt,int pp[]) { } main() {char aa[1000] ; int bb [26], k; void NONO (); printf( "/nPlease enter a char string:"); scanf( "%s", aa); fun (aa, bb); for (k=0; k<26; k++) printf ("%d",bb[k]); printf(”/n”); NONO (); } void NONO () (/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ char aa[1000] ; int bb[26], k,i ; FILE *rf,*wf ; rf = fopen("in.dat","r"); wf=fopen ("out.dat","w"); for(i = 0 ; i < 10 ; i++) { fscanf (rf, ¨%s", aa); fun (aa, bb); for (k'=0;k<26;k++) fprintf (wf, "%d",bb [k]); fprintf (wf, "/n"); } fclose (rf); fclose (wf); }
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。 例如,字符串中的内容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为:*******A*BC*DEF*G****。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> void fun(char*a,int n) { /*以下代码仅供参考*/ int i=0,j,k=0; while(a[k]=="*")k++;/*k为统计*字符个数*/ if(k>n) { i=n;j=k; /*以下完成将下标为k至串尾的字符前移k-n个位置*/ } } main() {char s[81];int n; printf("Enter a string:/n");getg(s); printf("Enter n:");seanf("%d, fun(s,n); printf("The string after deleted:/n");puts(s); }
进入题库练习
问答题请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 char *fun(char *s,char *t)3 {4 }5 main()6 { char a[20],b[20];7 void NONO();8 printf(''Input:1th string:'');9 gets(a);10 printf(''Input 2th string :'');11 gets(b);12 printf(''%s\n'',fun(a,b));13 NONO();14 }15 void NONO()16 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */17 FILE *fp,*wf;18 int i;19 char a[20],b[20];20 fp=fopen(''in.dat'',''r'');21 wf=fopen(''out''.dat'',''w'');22 for(i=0;i<10;i++){23 fscanf(fp,''%s%s'',a,b);24 fprintf(wf,''%s\n'',fun(a,b));25 }26 fclose(fp);28 fclose(wf); }
进入题库练习
问答题请编写一个函数fun(),其功能是找出一维整型数组元素中最大的值和它所在的下标,并将它们通过形参传回。数组元素中的值已在主函数中赋予。 在主函数中,x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 #include<stdlib.h> #include<stdio.h> void fun(int a[],int n,int *max,int *d) main() int i,x[20],max,index,n=10;void NONO(); for(i=0;i<n;i++)x[i]=rand()%50;printf("%4d",x[i]);) printf("/n"); fun(x,n, printf("Max=%5d,Index=%4d/n",max,index); NONO();
进入题库练习
问答题给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include void fun(char *s) { int i, n, k; char c; n=0; for(i=0; s[i]!='/0'; i++) n++; /**********found**********/ if(n%2==0) k=n-___1___ ; else k=n-2; /**********found**********/ c=___2___ ; for(i=k-2; i>=1; i=i-2) s[i+2]=s[i]; /**********found**********/ s[1]=___3___ ; } main() { char s[80]="abcdefgh"; printf("/nThe original string is : %s/n",s); fun(s); printf("/nThe result is : %s/n",s); }
进入题库练习
问答题请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:#include < string.h >#include < stdio.h >#define N 80int fun (char*s) { }void main () { FILE *wf; char line[ N] ; intt num =0: printf "Enter a string:/n ") ; gets (line) ; num = fun (line) ; printf ( " The number of word wf = fopen ("out.dat", "w") , fprintf (wf, "% d", fun ( " a big fclose (wf) ;/*********found*********/}
进入题库练习
问答题 给定程序MODI1.C中fun函数的功能是:求 s=aa…aa-…-aaa-aa-a (此处aa…aa表示n个a,a和n的值在1至9之间) 例如a=3,n=6,则以上表达式为: s=333333-33333-3333-333-33-3 其值是:296298 a和n是fun函数的形参,表达式的值作为函数值传回main函数。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include<stdio.h> long fun(int a, int n) {int j; /**********found**********/ long s=0, t=1; for(j=0; j<n; j++) t=t*10+a; s=t; for(j=1; j<n; j++) { /**********found**********/ t=t%10; s=s-t; } return(s); } main() {int a, n; printf("inPlease enter a and n:"); scanf("%d%d", printf("The value of function is:%ld/n", fun(a, n)); }
进入题库练习