计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题给定程序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 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( "/nPlease enter a and n:") ; scanf( "%d%d", printf( "The value of function is: %ld/n", fun ( a, n ) ); }
进入题库练习
问答题给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 6 typedef struct node { int data; struct node *next; } NODE; void fun(NODE *h) { NODE *p, *q; int t; /**********found**********/ p = __1__ ; while (p) { /**********found**********/ q = __2__ ; while (q) { /**********found**********/ if (p->data __3__ q->data) { t = p->data; p->data = q->data; q->data = t; } q = q->next; } p = p->next; } } NODE *creatlist(int a[]) { NODE *h,*p,*q; int i; h = (NODE *)malloc(sizeof(NODE)); h->next = NULL; for(i=0; i { q=(NODE *)malloc(sizeof(NODE)); q->data=a[i]; q->next = NULL; if (h->next == NULL) h->next = p = q; else { p->next = q; p = q; } } return h; } void outlist(NODE *h) { NODE *p; p = h->next; if (p==NULL) printf("The list is NULL!/n"); else { printf("/nHead "); do { printf("->%d", p->data); p=p->next; } while(p!=NULL); printf("->End/n"); } } main() { NODE *head; int a[N]= {0, 10, 4, 2, 8, 6 }; head=creatlist(a); printf("/nThe original list:/n"); outlist(head); fun(head); printf("/nThe list after sorting :/n"); outlist(head); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:7654321时,t中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 /**********found**********/3 void fun(long s,long t)4 { long s1=10;5 *t=s%10;6 while(s>0)7 { s=s/100;8 *t=s%10 * s1+*t,9 /**********found**********/10 s1=s1*100;11 }12 }13 main()14 {long s,t;15 printf(''\nPlease enter s:''); scanf(''%ld'',&s);16 fun(s,&t);17 printf(''The result is:%1d\n'',t);18 }
进入题库练习
问答题下列给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参c所指的变量中,最后在主函数中输出。 例如, 若形参s所指的字符串为“abcdef35adah3kjsdf7”,则输出结果为4。 请在下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> void fun(char*s,int*t) int i,n; n=0; /********found********/ for(i=0; (1) =0;i++) /********found********/ if(s[il>='0' /********found********/ (3) main() char s[80]="abcdef35adgh3kjsdf7"; int t; printf("/nThe original string is:%s/n",s); fun(s, printf("/nThe result is:%d/n"t);
进入题库练习
问答题给定程序modil.c的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>typedef struet list{int data;struet list*next;}LIST;int fun(UST*h){LIST*p;/**********found**********/int t;p=h;/**********found**********/while(*p){/**********found**********/t=t+p.data;p=(*p).next;}return t;}main(){LIST a,b,c,*h;a}data=34;b.data=51;c.data=87;C.next='\0';h=&a;a)next=&b;b.next=&c;printf("总和=%d\n",fun(h));}
进入题库练习
问答题下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<stdlib.h> #define N 8 typedef struct list { int data; struer liSt*next; }SLIST; void fun(SLIST *h,int x) { SLISTp,*q,*s; s=(SLIST*)malloc(Sizeof (SLIST)); /*********found*********/ S->data= 【1】 ; q=h; P=h->next; while(p!=NULL&&x>p->data){ /*********found*********/ q= 【2】 ; p=p->next; } s->next=p; /*********found*********/ q->next= 【3】 ; } SLIST * creatlist(int*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->nexL=q;p=q; } p->nexL=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("->%d",P-> data); P=P->next; }while(p!=NULL); printf("->End\n"); } } main() { SLIST*head; int X; int a[N]={11,12,15,18,19,22,25,29); head=treatlist(a); printf("\nThe list before inserting:\n"); outlist(head); printf("\nEnter a number: "); scanf("%d",&x); fun(head,x); printf("\nThe list after inserting:\n"); outliSt(head); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是: 依次取出字符串中所有数字字符, 形成新的字符串, 并取代原字符串。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include void fun(char *s) { int i,j; for(i=0,j=0; s[i]!='\0'; i++) if(s[i]>='0' s[j]="\0"; } main() { char item[80]; printf("\nEnter a string : ");gets(item); printf("\n\nThe string is : \"%s\"\n",item); fun(item); printf("\n\nThe string of changing is : \"%s\"\n",item ); }
进入题库练习
问答题请编—个函数float fun( double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。 例如,若h值为1234, 567,则函数返回1234. 570000;若h值为1234.564,则函数返回1234. 560000。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >#include < coni < *h >#include < stdlib.h >float fun (float h ){}void main (){ FILE *wf; float a; system ("CLS") ; printf ("Enter a: ") ; scanf ("% f"f &a) ; printf "The original data is : ") ; printf ("% f/n/n", a) : printf ("The result:%f/n", fun(a));/*********found*********/wf = fopen "out.dat", "w") :fprintf (wf, "f% f", fun (8.32533));fclose (wf) ;/*********found*********/}
进入题库练习
问答题下列给定程序中,函数fun的功能是:找出100一x(x≤999)之间各位上的数字之和为15的所有整数,并在屏幕输出;将符合条件的整数的个数作为函数值返回。 例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276、285、294 、 339 、 348 、 357 、 366 、 375、384 、 393,429 、 438 、 447 、456、465、474、483、492,共有26个。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > int fun(int x) { int n , s1 , s2 , s3 , t; /*********found*********/ n= 【1】 ; t=100; /*********found*********/ while(t < = 【2】 ) {s1=t%10;s2=(t/10)%10; s3=t/100; if(s1+s2+s3==1 5) {printf("%d',t); n++; } /*********found*********/ 【3】 ; } return n; } main() { int x=一1; while(x >999 ||x < 0) {printf("Please input(0 < x < =999):"); scanf("%d",&x);} printf("/nThe resultis:%d/n",fun(x)); }
进入题库练习
问答题下列给定程序的功能是:读入一个整数k(2≤k≤10000),输出它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出:2,3,5,7,11。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程存的结构!试题程序:
进入题库练习
问答题程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(int a[][N],int n),该函数的功能是使数组左下半三角元素中的值加上n。 例如:若n的值为3,a数组中的值为 a=2 5 4 1 6 9 5 3 7 则返回主程序后a数组中的值应为 5 5 4 4 9 9 8 6 10 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数full的花括号中填入所编写的若干语句。 试题程序: #include <stdio.h> #include <conio.h> #include <stdlib.h> #define N 5 fun(int a[][N],int n) { } main() { int a[N][N],n,i,j; clrscr(); printf("***** The array *****/n"); for(i=0;i<N;i++) /*产生—个随机5*5矩阵*/ { for(j=0;j<N;j++) { a[i][j]=rand()%10; printf("%4d",a[i][j]); } printf("/n"); } do n=rand()%10; /*产生一个小于5的随机数n*/ while(n>=5); printf("n=%4d/n",n); fun(a,n); printf("*****THE RESULT*****/n"); for(i=0;i<N;i++) { for(j=0;j<N;i++) printf("%4d",a[i][j]); printf("/n"); } }
进入题库练习
问答题请编写函数fun(),它的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0到p(含p,p<n-1)的数组元素平移到数组的最后。例如:一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。移动后,一维数组中的内容应为: 5,6,7,8,9,10,1,2,3,4。部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include<stdiO.h> #define N 80 void fun(int *w,int p,int n) { } main() {in[ a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int i,p,n=15; printf("The odginal data:/n"); for(i=0;i<n;i++)printf("%3d",a[i]); printf("/nEnter p:"); scanf("%d",&p); fun(a,p,n); printf ("/n The data after moving:/n"); for(i=0;i<n;i++)printf("%3d”,a[i]); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include #define SIZE 20 fun (double *s, double *w) { int k,i; double sum; for ( k=2,i=0;i
进入题库练习
问答题下列给定程序中,函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。例如,程序运行后,输入0.0001,则程序输出3.1414。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<math.h>#include<sfdio.h>floatfun(floatnum)ints;floatn,t,pi;f=1;pi=0;n=1;s=1;/*******found********/while(t>=num)pi=pi+t;n=n+2;s=-s;/********found********/t=s%n;pi=pi*4;returnpi;voidmain()floatn1,n2;system("CLS");printf("Enterafloatnumber:");scanf("%fn2=fun(n1);printf("%6.4f/n",n2);
进入题库练习
问答题请编写函数fun,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放存主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推,把100岁(含100)以上年龄的人数都放在d[10]中。结果在主函数中输出。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> #define N 50 #define M 11 void fun(int *a,int *b) { } double rnd() {static t=29,c=217,m=1024,r=0; r=(r*t+c)%m;return((double)r/m); } main() {int age[N],i,d[M]; for(i=0;i<N;i++)age[i]=(int)(115*rnd()); printf("The original data:/n"); for(i=0;i<N;i++)printf((i+1)%10==0?"%4d/n":"%4d",age[i]); printf("/n/n"); fun(age,d); for(i=0;i<10;i++)printf("%4d---%4d:%4d/n",i*10,i*10+9,d[i]); printf("Over 100:%4d/n",d[10]); }
进入题库练习
问答题给定程序中,函数fun的功能是: 用函数指针指向要调用的函数,并进行调用。 规定在 【2】 处使f指向函数f1,在 【3】 处使f指向函数f2。 当调用正确时,程序输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2= 40.000000。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio .h > double f1 (double x) { return x*x; } double f2 (double x, double y) { return x*y;} double fun (double a, double b) { /*********found*********/ 【1】 (*f)(); double r1, r2; /*********found*********/ f= 【2】 ; r1=f(a); /*********found*********/ f= 【3】 ; r2=(*f)(a,b); return r1 + r2; } main () { double x1 =5, x2 =3, r, r = fun (xl, x2); printf ("/nx1 = % f, x2 = % f, x1 * x1 +x1 * x2 = % f/n",x1, x2, r) ; }
进入题库练习
问答题请编写函数,删除字符串中指定位置(下标)上的字符。删除成功函数返回被删字符;否则返回空值。
进入题库练习
问答题 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include <stdio.h> #define N 12 typedef struct { char num[10]; double s; } STREC; double fun(STREC *a,STREC *b,int *n) { } 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, printf("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的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串为“baacda”,c中的字符为a,执行后s所指字符串为“baaaacalaa”。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> void fun(char*s,char c) int i,j,n; /********found********/ for(i=0;s[i]!= (1) ;i++) if(s[i]==c) /********found********/ n= (2) ; while(s[i+1+n]!='/0')n++; for(j=i+n+1;j>i;j--) s[j+1]=s[j]; /********found********/ s[j+1]= (3) ; j=i+1; main() char s[80]="baacda",c; printf("/nThe string:%s/n,s); pnntf("/nInput a character:"); scanf("%c", fun(s,c); printf("/nThe result is:%s/n",s);
进入题库练习
问答题给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。例如,若m中的值为5,则应输出:1.463611。请改正程序中的错误,使它能得到正确结果。[注意]不要改动main函数,不得增行或删行,也不得更改程序的结构。[试题源程序]#include<stdi0.h>doublefun(intm)doubley=1.0;inti;/*************found*************/for(i=2;i<m;i++)/*************found*************/y+=1/(i*i);return(y);main()intn=5;printf("/nTheresultis%1f/n",fun(n));
进入题库练习