计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题给定程序中,函数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(x1,x2); printf("\nx1=%f,x2=%f, x1*x1+x1*x2=%f\n",x1,x2,r); }
进入题库练习
问答题给定程序MODI1.C中fun函数的功能是:根据整型形参m,计算如下公式的值。例如,若主函数中输入5,则应输出-0.283333。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1#include<stdio.h>2doublefun(intm)3{4doublet=1.0;5inti;6for(i=2;i<=m;i++)7/**********found**********/8t=1.0-1/i;9/**********found**********/10_____;11}12main()13{14intm;15printf(''\nPleaseenter1integernumbers:\n'');16scanf(''%d'',&m);17printf(''\n\nTheresultis%1f\n'',fun(m));18}
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:按以下递归公式求函数值。 ┌ 10 (n=1) fun(n)=┥ └ fun(n-1)+2 (n>1) 例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include /************found************/ fun ( n ) { int c; /************found************/ if(n=1) c = 10 ; else c= fun(n-1)+2; return(c); } main() { int n; printf("Enter n : "); scanf("%d", printf("The result : %d/n/n", fun(n)); }
进入题库练习
问答题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中“a”到“ z”26个字母各自出现的次数,并依次放在pp所指数组中。 例如:当输入字符串abcdefghabcdeabc后,程序的输出结果应该是:33322110000000000000000000 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <conio.h> #include <stdio.h> void fun (char*tt, int pp[]) { } main() { char aa[1000]; int bb[26], k, n; clrscr(); printf("/nPlease enter a char string: ") ; scanf("%s",aa); fun(aa,bb); for (k=0 ;k<26 ; k++) printf("%d ",bb[k]) ; printf("/n "); }
进入题库练习
问答题下列给定程序中函数fun的功能是:从整数10到55之间,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include<stdio.h> int fun(int*b) {int k,a1,a2,i=0; for(k=10;k<=55;k++) { /************found************/ a2=k/10; a1=k-a2*10; if((k%3==0i++;} } /************found************/ return k; } main() {int a[100],k,m; m=fun(a); printf("The result is:/n"); for(k=0;k<m;k++) printf("%4d",a[k]); printf("/n"); }
进入题库练习
问答题下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和hum2分别为27和81,则输出的最大公约数为27。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>int fun(int a,int b){ int r,t; if(a<b){/*********found*********/ t=a;b=a;a;t; } r=a%b; while(r!=0) (a=b;b=r;r=a%b;)/*********found*********/ return(a);}void main(){ int hum1,hum2,a; printf ( "Input numl num2:"); scanf("%d%d",&hum1,&hum2); printf("num1=%d hum2=%d\n\n",num1,num2); a=fun(num1,num2); printf("The maximun common divisor is%d\n\n",a);}
进入题库练习
问答题函数fun的功能是: 将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:"ABCDEFG12345",其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是:"135"。 注意: 部分源程序存在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include #include void fun(char *s, char t[]) { } main() { char s[100], t[100]; printf("/nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("/nThe result is: %s/n", t); NONO(); }
进入题库练习
问答题 给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正fun函数中的错误,使它能得出正确的结果。 注意:不要改动main函数。不得增行或删行,也不得更改程序的结构! #include<conio.h> #include<stdio.h> void fun(int m, int k) { int aa[20], i; for(i=0; m; i++) { /**********found**********/ aa[i]=m/k; m/=k; } for(; i; i--) /**********found**********/ printf("%d", aa[i]); } main() { int b, n; printf("/nPlease enter a number and a base:/n"); scanf("%d %d", fun(n, b); printf("/n"); }
进入题库练习
问答题请编写一个函数fun(),它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。若两个字符串长度相等,则返回第1个字符串。 例如,输入nanjing<CR>nanchang<CR>(<CR>为回车键),函数将返回nanjing。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> char *fun(char *s,char *t) main() char a[20],b[10],*p,*q; int i; printf("Input lth string:"); gets(a); printf("Input 2th string:"); gets(b); printf("%s",fun(a,b));
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是: 交换主函数中两个变量的值。例如: 若变量a中的值原为8,b中的值为3。程序运行后a中的值为3, b中的值为8。 请改正程序中的错误, 使它能计算出正确的结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include /*********found**********/ int fun(int x,int y) { int t; /*********found**********/ t=x;x=y;y=t; } main() { int a,b; a=8;b=3; fun( printf("%d, %d/n",a,b); }
进入题库练习
问答题给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为: 10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 typedef struct node { int data; struct node *next; } NODE; void fun(NODE *h) { NODE *p, *q, *r; /**********found**********/ p = h->__1__; /**********found**********/ if (p==__2__) return; q = p->next; p->next = NULL; while (q) { r = q->next; q->next = p; /**********found**********/ p = q; q = __3__; } h->next = p; } 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]={2,4,6,8,10}; head=creatlist(a); printf("/nThe original list:/n"); outlist(head); fun(head); printf("/nThe list after inverting :/n"); outlist(head); }
进入题库练习
问答题请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和c的个数。注意:部分源程序存在PROGl.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所缩写的若干语句。试题程序:
进入题库练习
问答题请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。 例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdf。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<string.h> void proc(char*str, char t[]) { } void main() { char str[100], t[100]; system("CLS"); printf("/nPlease enter string str: "); scanf("%s", str); proc(str, t); printf("/nThe result is: %s/n", t); }
进入题库练习
问答题给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #include char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i { if(((s[i]>='a') j++;} else { p[k]=s[i]; k++; } } /**********found**********/ for(i=0; i<__2__; i++) t[j+i]=p[i]; /**********found**********/ t[j+k]= __3__; return t; } main() { char s[80]; printf("Please input: "); scanf("%s",s); printf("/nThe result is: %s/n",fun(s)); }
进入题库练习
问答题给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 #define M 8 int fun(char (*ss)[M],char *t) { int i; /**********found**********/ for(i=0; i< __1__ ; i++) /**********found**********/ if(strcmp(ss[i],t)==0 ) return __2__ ; return -1; } main() { char ch[N][M]={"if","while","switch","int","for"},t[M]; int n,i; printf("/nThe original string/n/n"); for(i=0;i printf("/nEnter a string for search: "); gets(t); n=fun(ch,t); /**********found**********/ if(n== __3__) printf("/nDon't found!/n"); else printf("/nThe position is %d ./n",n); }
进入题库练习
问答题请编写一个函数int fun(int*s,int t,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指向的存储单元中。 例如,输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为6,980。 注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<stdlib.h> int fun(int*s,int t,int*k) { } void main() { FILE*wf; int a[10]={876,675,896,101,301,401,980,431,451,777},k; system("CLS"); fun(a,10, printf("%d,%d/n",k,a[k]); /******************/ wf=fopen("out.dat","w"); fprintf(wf,"%d,%d",k,a[k]); fclose(wf); /******************/ }
进入题库练习
问答题给定程序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函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 long fun(int a,int n)3 { int j;4 /**********found**********/5 long s=0,t=1;6 for(j=0;j<n;j++)7 t=t *10+a;8 s=t;9 for(j=1;j<n;j++){10 /**********found**********/11 t=t%10;12 s=s-t;13 }14 return(s);15 }16 main()17 { int a,n ;18 printf(''\nPlease enter a and n:'');19 scanf(''%d%d'',&a,&n);20 printf(''The value of function is:%id\n'',fun(a,n));21 }
进入题库练习
问答题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 8 typedef struct list { int data; struct list *next; } SLIST; void fun (SLIST *h) {SLIST *p,*q; p=h—>next ; if (p ! =NULL) { q=p一>next; while (q ! =NULL) { if (p—>data==q—>data) { p—>next=q—>next; /*********found**********/ free (____1____ ) ; /*********found**********/ q=p—>____2____ ; } else {p=q; /*********found**********/ q=q—> ____3____ ; } } } } SLIST *creatlist (int *a) {SLIST *h,*p,*q; int i; h=p= (SLIST *) malloc (sizeof (SLIST)) ; { 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") ; clo { printf ("—>%d",p—>data) ; p=p—>next; } while (p ! =NULL) ; printf ("—>End/n") ; } main () {SLIST *head; int a INl={l,2,2,3,4, 4,4,5}; head=creatlist (a) ; printf("nThe list before deleting: /n") ; outlist (head) ; fun (head) ; printf("/nThe list after deleting: /n") ; outlist (head) ; }
进入题库练习
问答题请编写一个函数int fun(int*s,int t,int*k),用来求出数组的最大元素在数组中的 下标并存放在k所指向的存储单元中。 例如,输入如下整数: 876 675 896 101 301 401 980 431 45l 777 则输出结果为6,980。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < conio.h >#include < stdio.h >#include < stdlib.h >int fun(int*s,int t,int*k){}void main(){ FILE*wf; int a[10]={87 6,67 5,896,101,301,4 01,980,431,451,7 7 7},k; system("CLS"); fun(a,10,&k); print:f("%d,%d/n",k,a[k]);/*********found*********/ wf=fopen("out.dat","w"); fprintf(wf,"%d,%d",k,a[k]); fclose(wf);/******************/}
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行和删行,也不得更改程序的结构! 给定源程序: #include #define N 20 void fun(int a[], int n) { int i, j, t, p; for (j = 0 ;j < n-1 ;j++) { /************found************/ p = j for (i = j;i < n; i++) if(a[i] < a[p]) /************found************/ p = j; t = a[p] ; a[p] = a[j] ; a[j] = t; } } main() { int a[N]={9,6,8,3,-1},i, m = 5; printf("排序前的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("/n"); fun(a,m); printf("排序后的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("/n"); }
进入题库练习