计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题给定程序MODI1.C中函数fun()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请改正程序中的错误,使它能得出正确的结果。 #include<stdio.h> #include<string.h> #define MAXLINE 20 fun(char *pstr[6]) int i,j; char *p; for(i=0;i<5;i++) /**********found**********/ for(j=i+1,j<6,j++) if(strcmp(*(pstr+i),*(pstr+j))>0) p=*(pstr+i); /**********found**********/ *(pstr+i)=pstr+j; *(pstr+j)=p; main() int i; char *pstr[6],str[6][MAXLINE]; for(i=0;i<6;i++)pstr[i]=str[i]; printf("/nEnter 6 string(1 string at each line):/n"); for(i=0;i<6;i++)scanf("%s",pstr[i]); fun(pstr); printf("The strings after sorting:/n"); for(i=0;i<6;i++)printf("%s/n",pstr[i]);
进入题库练习
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),该函数的功能是:把高于等于平均分的学生数据放在b所指的数组中,低于平均分的学生数据放在c所指的数组中,高于等于平均分的学生人数通过形参n传回,低于平均分的学生人数通过形参m传回,平均分通过函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <stdio.h> #define N 12 typedef struct char num[10]; double s; STREC; double fun(STREC *a,STREC *b,STREC *c,int *n,int *m) main() STREC s[N]="GA05",65,"GA03",86, "GA02",76,"GA04",95,"GA01",93, "GA07",78,"GA08",68,"GA06",88, "GA09",60,"GA11",54,"GA12",56, "GA10",98; STREC h[N],l[N],t; FILE *out; int i,j,m,n; double ave; ave=fun(s,h,l,&n,&m); printf("The %d student data which is higher than %7.3f:/n",n,ave); for(i=0;i<n;i++) printf("%s %4.lf/n",h[i].num, h[i].s); printf("/n"); printf("The %d Student data which iS lower than%7.3f:/n",m,ave); for(i=0;i<m;i++) printf("%s %4.1f/n",l[i].num, l[i].s); printf("/n"); out=fopen("out26.dat", "w"); fprintf(out, "%d/n %7.3f/n",n,ave); for(i=0;i<n-1;i++) for(j=i+1;i<n;j++) if(h[i].s<h[j].s) t=h[i];h[i]=h[i];h[j]=t; /*分数从现到低排列*/ for(i=0;i<n; i++) fprintf(out,"%4.1f/n",h[i].s); fprintf(out,"%d/n %7.3f/n",m,ave); for(i=0;i<m-1;i++) for(j=i+1;i<m;j++) if(l[i].s<l[j].s) t=l[i];l[i]=l[j];l[j]=t; /*分数从高到低排列*/ for(i=0;i<m;i++) fprintf(out,"%4.1f/n",l[i].s); fclose(out);
进入题库练习
问答题下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> #define SIZE 20 fun (double *s, double *w) int k, i; double sum; for(k=2, i=0; i<SIZE; i++) s [i]=k; k+=2; sum=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++; return 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");
进入题库练习
问答题请编写函数proc(),该函数的功能是:计算并输出例如,若主函数从键盘给n输入10后,则输出为S=104.478749。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:#include<math.h>#include<stdio.h>doubleproc(intn){}voidmain(){intn;doubleS;printf("/n/nInputn:");scanf("%d",S=proc(n);printf("/n/nS=%f/n/n",S);}
进入题库练习
问答题综合应用 请编写函数fun :在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何 内容,仅在函数fun的花括号中填入所编写的若干语句。 #include void NONO(); void fun(int *a, int *b, int *c, int *d) { } main() { int a, b, c, d; printf("请输入4个整数: "); scanf("%d%d%d%d", printf("原始顺序: %d,%d,%d,%d/n", a, b, c, d); fun( printf("处理后: %d,%d,%d,%d/n", a, b, c, d); NONO(); } void NONO() {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i, a, b, c, d ; fp = fopen("in.dat","r") ; wf = fopen("out.dat","w") ; for( i=0; i<5; i++ ) { fscanf(fp, "%d %d %d %d", fun( fprintf(wf, "a=%d,d=%d/n", a, d); } fclose(fp) ; fclose(wf) ; }
进入题库练习
问答题给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > #include < stdlib.h > #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 < N;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 {printi("/nttead"); do fprintf("一 >%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 outlist (head) ; fun (head) ; printf ( "/nThe list after inverting :/n"); outlist (head) ; }
进入题库练习
问答题请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 请勿改动主函数main和其它函数巾的任何内容,仅在函数fun的花括号巾填入你编写的若干语句。 给定源程序: #include<stdio.h> #include<string.h> #define N 80 intfun(char*str) { } main() {char s[N]; printf("Enter a string:");gets(s); printf("/n/n");puts(s); if(fun(s))printf("YES/n"); else printf("NO/n"); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。要求先累加主对角线元素中的值,再累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 首先累加1、5、9,然后累加3、5、7,函数返回值为30。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > #define N 4 fun(int t[][N],int n) { int i,sum; /*********found*********/ 【1】 ; for(i=0;i < n ; i++) /*********found*********/ sum+= 【2】 ; for(i=0;i < n;i++) /*********found*********/ sum+:t[i][n—i一 【3】 ]; return sum; } main() { int i,j,t:[][N]=={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10); printf("/nThe orifinal data:/n"); for(i=0;i < N;i++) { for(j=0,j < N;j++) printf("%4d",t[i][j]); printf("/n"); } printf("The result is:% d",fun(t,N)); }
进入题库练习
问答题给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时, 程序输出: x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include double f1(double x) { return x*x; } double f2(double x, double y) { return x*y; } __1__ fun(int i, double x, double y) { if (i==1) return __2__(x); else return __3__(x, y); } main() { double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2); printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r); }
进入题库练习
问答题学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组S中,请编写函数proc(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容。 试题程序: #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");
进入题库练习
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为:10004、"LiJie"、93、85、87。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在 下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include <stdio.h> #include <string.h> struct student { long sno; char name[10]; float score[3]; }; void fun(struct student *b) { /**********found**********/ b______=10004; /**********found**********/ strcpy(b______,"LiJie"); } main() { struct student t={10002,"ZhangQi",93,85,87}; int i; printf("/n/nThe original data:/n"); printf("/nNo:%ld Name:%s/nScores:",t.sno,t.name); for(i=0;i<3;i++) printf("%6.2f",t.score[i]); printf("/n"); /**********found**********/ fun(______); printf("/nThe data after modified:/n"); printf("/nNo:%ld Name:%s/nScores:",t.sno,t.name); for(i=0;i<3;i++) printf("%6.2f",t.score[i]); printf("/n"); }
进入题库练习
问答题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include<stdio.h> void fun(char *a, int n) { } main() {char s[81]; int n; void NONO(); printf("Enter a string:/n"); gets(s); printf("Enter n:"); scanf("%d", fun(s, n); printf("The string after deleted:/n"); puts(s); NONO(); } void NONO() {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out; int i, n; char s[81]; in=fopen("in.dat", "r"); out=fopen("out.dat", "w"); for(i=0; i<10; i++) { fscanf(in, "%s", s); fscanf(in, "%d", fun(s, n); fprintf(out, "%s/n", s); } fclose(in); fclose(out); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量S中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:7654321时,t中的数为:642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 /*********found*********/3 void fun(long s,long t)4 { long s1=10;5 s/=10;6 *t=s%10;7 /*********found*********/8 while(s<0)9 { s=s/100;10 *t=s%10 *s1+*t;11 s1=s1 * 10;12 }13 }14 main()15 {long s,t;16 printf(''\nPlease enter s:''); scanf(''%1d'',&s);17 fun(s,&t);18 printf(''The result is:%1d\n'',t);19 }
进入题库练习
问答题 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入"abc4EFg",则应输出"aBc4EFg"。 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include<stdio.h> #include<string.h> void fun(char *ss) { } main() {char tt[81]; void NONO(); printf("/nPlease enter an string within 80 characters:/n"); gets(tt); printf("/n/nAfter changing, the string/n"%s" ", tt); fun(tt); printf("/nbecomes/n"%s"/n", tt); NONO(); } VOid NONO() {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf; char tt[81]; int i; fp=fopen("in.dat", "r"); wf=fopen("out.dat", "w"); for(i=0; i<10; i++) { fscanf(fp, "%s", tt); fun(tt); fprintf(wf, "%s/n", tt); } fclose(fp); fclose(wf); }
进入题库练习
问答题给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include typedef struct aa { int data;struct aa*next;}NODE; int fun(NODE*h) { int sum=0; NODE*p; /**********found**********/ p=h; while(P) { if(P->data%2==0) sum+=p->data; /***********found**********/ p=h->next; } return sum; } NODE*creatlink(int n) {NODE*h,*p,*s; int i; h=p=(NODE*)malloc(sizeof(NODE)); for(i=1;idata=rand()%16; s->next=p->next; P->next=s; p=p->next; } P->next=NULL; return h; } outlink(NODE*h,FILE*pf) {NODE*p; p=h->next; fprintf(pf,”/n/nTHE LIST:/n/n HEAD”); while(P) { fprintf(pf,"->%d",p->data); p=p->next;) fprintf(pf,"/n"); } outresult(int s,FILE*pf) { fprintf(pf,”/nThe SLIm of even numbers : %d/n¨,s);} main() {NODE*head;int evirl; head=creatlink(12); head->data=,9 0 0 0; outlink(head,stdout); even=fun(head); printf("/nTh.e result:/n"); outresult(even, stdout); }
进入题库练习
问答题请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值 -1234。函数fun中给出的语句仅供参考。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include #include long fun ( char *p) {int i, len, t; /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]=='-') { t=-1; len--; p++; } else t=1; /* 以下完成数字字符串转换为一个数字 */ return x*t; } main() /* 主函数 */ { char s[6]; long n; printf("Enter a string:\n") ; gets(s); n = fun(s); printf("%ld\n",n); NONO ( ); } NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i ; char s[20] ; long n ; fp = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(fp, "%s", s) ; n = fun(s); fprintf(wf, "%ld\n", n) ; } fclose(fp) ; fclose(wf) ; }
进入题库练习
问答题请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCH码降序排列。 例如,原来的字符串为:CEAedca,排序后输出为:CedcEAa。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #include<ctype.h>3 #include<string.h>4 void fun(char *s,int num)5 {67 }8 NONO()9 {10 /*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/11 char s[10];12 FILE *rf,*wf ;13 int i=0;14 rf=fopen(''in.dat'',''r'');15 wf=fopen(''out.dat'',''w'');16 while(i<10) {17 fgets(s,10,rf);18 s[7]=0 ;19 fun(s,7);20 fprintf(wf,''%s\n'',s);21 i++;22 }23 fclose(rf);24 fclose(wf);25 }26 main()27 {28 char s[10];29 printf(''输入7个字符的字符串:'');30 gets(s);31 fun(s,7);32 printf(''\n%s'',s);33 NONO();34 }
进入题库练习
问答题请编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的ASCII代码值,每行输出三对。
进入题库练习
问答题请编写函数fun(),该函数的功能是:将s所指字符串中 ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCⅡ码值为偶数、…、字符2的ASCⅡ码值为偶数、…,都应当删除,其他依次类推。最后t所指的数组中的内容应是ACEGl35。 注定:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序; #include <stdio. h> #include<string.h> #include<conio. h> void fun(char *s, char t[]) main ( ) char s[100],t [100]; clrscr (); printf (,/nPlease enter string S: "); scanf ("%s", s); fun(s,t); printf ("/nThe result is :%s/n",t);
进入题库练习
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #define N 163 typedef struct4 { char num[10];5 int s;6 } STREC;7 void fun(STREC a[])8 {9 }10 main()11 {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}};12 int i;FILE *out;;13 fun(s);14 print;f(''The data after sorted:\n'');15 for(i=0; i<N;i++)16 { if((i)%4==0)printf(''\n'');17 printf(''%s%4d'',s[i].num,s[i].s);18 }19 printf(''\n'');20 out=fopen(''out.dat'',''w'');21 for(i=0;i<N;i++)22 {if((i)%4==0 && i) fprintf(out,''\n'');23 fprintf(out,''%4d'',s[i].s);}24 fprintf(out,''\n'');25 fclose(out);}
进入题库练习