计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > typedef struct { int num; char name[9]; float score[3]; }STU; void show(STU tt) { int.i; print.f("%d%s:",tt.num, tt.name); for(i=0;i < 3;i++) print:f("%5.1f" ,tt.score[i]); print:f("/n"); } /*********found*********/ void modify( 【1】 *ss,float a) { int i; for(i=0;i < 3;i++) /*********found*********/ ss一 > 【2】 *=a; } main() { STU std={1,"Zhanghua",76. 5,78.0,82.0}; float:a; print:f("/nThe original num bet and name and scores:/n"); show(std); print:f("knlnput a number:"); scanf("%f",&a); /*********found*********/ modify( 【3】 ,a); printf ("/nA result of modif ying:/n"); show(std); }
进入题库练习
问答题给定程序MODI1.C的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出2、3、5、7、11。 #include<stdio.h> /**********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");
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include long fun (long num) { /************found************/ long k; do { k*=num%10 ; /************ found************/ num/=10 ; } while(num); return (k); ) main () { long n ; printf ("/nPlease enter a number:") scanf("%ld", printf("/n%ld/n",fun(n)); }
进入题库练习
问答题函数fun()的功能是:交换主函数中两个变量的值。例如,若变量a中的值原为8,b中的值为3,程序运行后a中的值为3,b中的值为8。 #include<stdio.h> /**********found**********/ void 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);
进入题库练习
问答题下列给定程序中,函数proc()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。 例如:输入1 2 3 4 5 6 7 8 9,则矩阵为 1 2 3 4 5 6 7 8 9 输出为Sum=15。 请修改函数proc()中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> void proc() { int arr[3][3], sum; int i, j; //****found**** sum=1; printf("please input 3*3 array: /n"); for(i=0; i<3; i++) { for(j=0; j<3; j++) //****found**** scanf("%d", arr[i][j]); } for(i=0; i<3; i++) sum=sum+arr[i][i]; printf("Sum=%d/n", sum); } void main() { proc(); }
进入题库练习
问答题编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。 例如,若n为1000时,程序输出应为:s=153.909064。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<math.h> #include<stdio.h> double fun(int n) { } main()/*主函数*/ { printf("s=%f/n",fun(1000)); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为7654321时,t中的数为642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> /********found********/ void fun(long s,long t) (long s1=10; s/=10; *t=s%10; /********found********/ while(s<0) {s=s/100; *t=s%10*s1+*t; s1=s1 *10; } } main() {long s,t; printf("/nPlease enter s:");scanf("%ld",&s); fun(s,&t); printf("The result is:%ld/n",t); }
进入题库练习
问答题学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组s中,请编写函数proc(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<string.h> #include<stdio.h> #include<stdlib.h> #define M 16 typedef struct {char num[10]; int s; } STREC; STREC proc(STREC*a, char*b) { } void main() { STREC stu[M]={{"GA005", 85}, {"GA003", 76}, {"GA002", 69}, {"GA004", 85}, {"GA001", 91}, {"GA007", 72}, {"GA008", 64}, {"GA006", 87}, {"GA015", 85}, {"GA013", 91}, {"GA012", 64}, {"GA014", 91}, {"GA011", 77}, {"GA017", 64}, {"GA018", 64}, {"GA016", 72}}; STREC h; char m[10]; int i; printf("The original data: /n"); for(i=0; i<M; i++) { if(i%4==0) printf("/n"); //每行输出4个学生记录 printf("%s%3d", stu[i].num, stu[i].s); } printf("/n/nEnter the number: "); gets(m); h=proc(stu, m); printf("The data: "); printf("/n%s%4d/n", h.num, h.s); printf("/n"); }
进入题库练习
问答题请编写函数fun(),它的功能是:实现两个字符串的连接(不使用库函数strcat()),即把p2所指的字符串连接到p1所指的字符串后。 例如,分别输入下面两个字符串: FirstString-- SecondString 则程序输出: FirstString--SecondString [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 [试题源程序] #include<stdio.h> #include<conio.h> void fun(char p1[], char p2[]) main() char s1[80], s2[40]; clrscr(); printf("Enter s1 and s2:/n"); scanf("%s%s", s1, s2); printf("s1=%s/n", s1); printf("s2=%s/n", s2); printf("Invoke fun(s1, s2):/n"); fun(s1, s2); printf("After invoking:/n"); printf("%s/n", s1);
进入题库练习
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构件数组s中,请编写函数fun(),它的功能是:把分数最高的学生数据放在h所指的数组中。注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <stdio.h> #define N 16 typedef struct char num[10]; int s; STREC; int fun(STREC *a,STREC *b) main () STREC s [N] = "GA005", 85 , "GA003", 76 , "GA002", 69 , "GA004", 85 , "GA001", 91 , "GA007", 72, "GA008", 64, "GA006", 87, "GA015", 85), ( "GA013", 91 , "GA012", 64 , "GA014", 91 ), "GA011", 66, "GA017", 64 , "GA018", 64 , "GA016", 72 ; STREC h[N]; int i, n; FILE *out; n=fun(s,h); printf("The %d highest score :/n",n); for (i=0; i<n; i++) printf("%s %4d/n ",h[i].num, h[i].s); /*输出最高分学生的学号和成绩* / printf("/n"); out=fopen("out45.dat", "w"); fprintf(out, "%d/n",n); for(i=0; i<n; i++) fprintf(out, "%4d/n ",h[i].s); fclose(out);
进入题库练习
问答题函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include int isle'ap (int year) { int leap; leap= (yearo04==0 && yearool00!=0 || yearo0400==0) ; return____ (1)____; } int fun (int year,int monthr int day) {int table [13] ={ 0,31,28,31,30,31, 30,31,31,30,31,30,31}; int days=0,i; for(i=1; i2) days=days+____ (3)____; return days; } main() {int year,monthf day,days; printf("请输入年、月、日:"); scanf("%d%d%d",&year,&month,&day); days=fun(year,month,day); printf("%d年%d月%d日是该年的第%d天 /n",year,month,day,days); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。 例如,若输入8名学生的成绩:80.5 60 72 90.5 98 51.5 88 64 则低于平均分的学生人数为:4(平均分为:75.5625)。 请改正程序中的错误,使它能统计出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 203 int fun(float *s,int n,float* aver)4 { float ave,t=0.0;5 int count=0,k,i;6 for(k=0;k<n ; k++)7 /**********found**********/8 t=s[k];9 ave= t/n;10 for(i=0;i<n;i++)11 if (s[i]<ave) count++ ;12 /**********found**********/13 *aver=Ave ;14 return count ;15 }16 main()17 { float s[30],aver;18 int m,i;19 printf (''\nPlease enter m:'');scanf(''%d'',&m);20 printf(''\nPlease enter %d mark:\n'', m);21 for(i=0;i<m;i++)scanf(''%f'',s+i);22 printf(''\nThe number of students:%d\n'',fun(s,m,&aver));23 printf(''Ave=%f\n'',aver);24 }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是: 对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来, 并将这些学生数据存放在一个动态分配的连续存储区中, 此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include #include #include #define N 10 typedef struct ss { char num[10]; int s; } STU; STU *fun(STU a[], int m) { STU b[N], *t; int i,j,k; /**********found**********/ t=(STU *)calloc(sizeof(STU),m) for(i=0; i for(k=0; k { for(i=j=0; i if(b[i].s > b[j].s) j=i; /**********found**********/ t(k)=b(j); b[j].s=0; } return t; } outresult(STU a[], FILE *pf) { int i; for(i=0; i fprintf(pf,"No = %s Mark = %d/n", a[i].num,a[i].s); fprintf(pf,"/n/n"); } main() { STU a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77}, {"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }; STU *pOrder; int i, m; printf("***** The Original data *****/n"); outresult(a, stdout); printf("/nGive the number of the students who have better score: "); scanf("%d", while( m>10 ) { printf("/nGive the number of the students who have better score: "); scanf("%d", } pOrder=fun(a,m); printf("***** THE RESULT *****/n"); printf("The top :/n"); for(i=0; i printf(" %s %d/n",pOrder[i].num , pOrder[i].s); free(pOrder); }
进入题库练习
问答题在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。例如,数组中元素的值依次为:39、一47、21、2、一8、15、0,则程序的运行结果为19.250000。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>double fun(int x[]){/*********found*********/ int slim=0.0; int c=0,i=0; while(x[i]!=0) { if(x[i]>0) { sum+=x[i]; c++; } i++; }/*********found*********/ sum\=c; return sum;}main(){ int x[1000]; int i=0; printf("\nPlease enter some clat a(end with 0):"); do { scanf("%d",&x[i]); }while(x[i++]!=0); printf("%lf\n",fun(x));}
进入题库练习
问答题用筛选法可得到2~n(n int fun(int n) { int a[10000],i,j,count=0; for (i=2; i<=n; i++) a[i] = i; i=2; while (i
进入题库练习
问答题请编写函数fun,其功能是:计算并输出给定10个数的方差。其中:例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,则输出为S=11.730729。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<math.h>#include<stdio.h>doublefun(doublex[10]){}voidmain(){doubles,x[10]={95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0};inti;printf("/nTheoriginaldatais:/n");for(i=0;i<10;i++)printf("%6.1f",x[i]);printf("/n/n");s=fun(x);printf("S=%f/n/n",s);}
进入题库练习
问答题下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<stdlib.h> #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)); 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("The 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 a[N]={1,2,2,3,4,4,4,5}; head=creatlist(a); printf("The list before deleting:\n"); outlist(head); fun(head); printf("The list after deleting:n"); outlist(head); }
进入题库练习
问答题请编写一个函数,用来删除字符串中的所有空格。 例如,输入asd af aa z67,则输出为asdafaaz67。 注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> #include<ctype.h> #include<conio.h> #include<stdlib.h> void fun(char*str) { } main() { char str[81]; char Msg[]="Input a string:"; int n; FILE*out; printf(Msg); gets(str); puts(str); fun(str); printf("***str:%s/n",str); /******************/ out=fopen("out.dat","w"); fun(Msg); fprintf(out,"%s",Msg); fclose(out); /******************/ }
进入题库练习
问答题下列给定程序的功能是:从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用#作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数ReadText和WriteText实现。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构! #include #include #include void WriteText(FILE*); void ReadText(FILE*); main() {FILE*fp; if((fp=fopen(''myfile4.txt'',''W''))==NULL) {printf(''open fail!\n'');exit(0);} WriteText(fp); fclose(fp); if((fp=fopen(''myfile4.txt'',''r''))==NULL) {printf(''open fail!1\n'');exit(0);} ReadText(fp); fclose(fp); } /**********found**********/ void WfiteText(FILE【1】) {char str[81]; printf(''\nEnter string with #to end:\n''); gets(str); while(strcmp(str,''#1'')!=0){ /**********found**********/ fputs(【2】,tw);fputs(''\n'',fw); gets(str); } } void ReadText(FILE*fr) {char str[81]; printf(''Read file and output to screen:\n''); fgets(str,81,fr); while(!feof(fr){ /**********found**********/ printf(''%s'',【3】); fgets(str,81,fr); } }
进入题库练习
问答题请编写函数proc(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。 例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,p的值为4。移动后,一维数组中的内容应为5,6,7,8,9,10,11,12,13,14,1,2,3,4。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #define M 80 void proc(int*w,int p,int n) } void main() int arr[M]={1,2,3,4,5,6,7,8,9,10,11,12,13,14}; int i,p,n=14; printf("The original data:/n"); for(i=0;i<n;i++) printf("%3d",arr[i]); printf("/n/nEnter p:"); scanf("%d", proc(arr,p,n); printf("/nThe data after moving:/n"); for(i=0;i<n;i++) printf("%3d",arr[i]); printf("/n/n");
进入题库练习