问答题下列给定程序中,函数fun的功能是:计算如下公式直到≤10一3,并且把计算结果作为函数值返回。例如,若形参e的值为1e一3,则函数返回值为0.551690。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(doublee){inti,k;doubles,t,x;s=0;k=1;i=2;/*********found*********/x=【1】/4;/*********found*********/while(x【2】e){s=s+k*x;k=k*(一1);t=2*i;/*********found*********/X=【3】/(t*t);i++;}returns;}main(){doublee=1e一3;printf("/nTheresultis:%f/n",fun(e));}
问答题给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
int fun(char *source, char
*target)
{FILE *fs,*ft; char ch;
/********found* *********/
if ((fs=fopen(source,【1】))
==NULL)
return 0;
if ((ft=fopen(target,"w"))==NULL
)
return 0;
printf ("/nThe data in
file :/n");
ch=fgetc(fs);
/*********found**********/
while (! feof (【2】) )
{ putchar(ch);
/********** found* *********/
fputc (ch,【3】) ;
ch=fgetc(fs);
}
fclose(fs); fclose(ft);
printf("/n/n");
return 1;
}
main ()
{ char sfname[20] ="myfilel",
tfname[20]="myfile2";
FILE *myf; int i; char c;
myf=fopen(sfname,"w");
printf("/nThe original
data :/n");
for(i=l; i<30; i++)
{ c='A'+rand() %25;
fprintf(myf, "%c",c);
printf ("%c",c);}
fclose (myf) ,-printf ("/n/n");
if(fun(sfname, tfname))
printf ("Succeed!");
else printf("Fail!");
}
问答题下列给定程序中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<string.h>#include<conio.h>#include<stdio.h>#define MAXLINE 20fun(char*pstr[6]){ int i,j; char*P; for(i=0;i<5;i++) { /*********found*********/ for(j=i+1,j<6,j++) { if(strcrnp(*(pstr+i),(pstr+j))>0) { P=*(pstr+i); /*********found*********/ *(pstr+i)=pstr+j; *(pstr+j)=p; } } }} void main() { int i; char*pstr[6],str[6][MAxLINE]; system("CLS"); 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]); }
问答题请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码值升序排列。
例如:原来的字符串为BdsihAd,则排序后输出为 BAdhisd。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
int fun(char*s,int num)
{
}
main()
{
char s[10];
clrscr();
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("/n%s",s);
}
问答题给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<stdlib.h>3 #define N 64 typedef struct node{5 int data;6 struct node *next;7 } NODE;8 void fun(NODE *h)9 { NODE *p,*q;int t;10 /**********found**********/11 p=___1__;12 while(p) {13 /**********found**********/14 q=__2__;15 while(q) {16 /**********found**********/17 if(p->data__3__q->data)18 { t=p->data;p->data=q->data;q->data=t;}19 q=q->next;20 }21 p=p->next;22 }23 }24 NODE *creatlist(int a[])25 { NODE *h,*p,*q;int i;26 h=(NODE *)malloc(sizeof(NODE));27 h->next=NULL;28 for(i=0;i<N;i++)29 { q=(NODE *)malloc(sizeof(NODE));30 q->data=a[i];31 q->next=NULL;32 if(h->next==NULL)h->next=p=q;33 else{p->next=q;p=q;}34 }35 return h;36 }37 void outlist(NODE *h)38 { NODE *p;39 p=h->next;40 if(p==NULL)printf(''The list is NULL!\n'');41 else42 { printf(''\nHead'');43 do44 {printf(''->%d'',p->data);p=p->next;}45 while(p!=NULL);46 printf(''->End\n'');47 }48 }49 main()50 { NODE *head;51 int a[N]={0,10,4,2,8,6};52 head=creatlist(a);53 printf(''\nThe original list:\n'');54 outlist(head);55 fun(head);56 printf(''\nThe list after sorting:\n'');57 outlist(head);58 }
问答题函数fun的功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后c=4152。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
void fun(int a, int b, long *c)
{
}
main()
{
int a, b;
long c;
printf("Input a, b:");
scanf("%d%d",
fun(a, b,
printf("The result is:%d/n", c);
}
问答题下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#define N5#define M8int fun(char(*ss)[M],char*t){int i;/**********found**********/for(i=0;i<【1】;i++)/**********found**********/if(stremp(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<N;i++)puts(eh[i]);printf("\n");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);}
问答题给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#include/**********found**********/doublefun(doublea,dounlex0){doublex1,y;xl=(x0+a/x0)/2.0;/**********found**********/if(fabs(xl-xo)>0.00001)y=fun(a,xl);elsey=xl;returny;}main(){doublex;printf("Enterx:");scanf("%lf",printf("Thesquarerootof%lfis%lf/n",x,fun(x,1.0));}
问答题给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
void fun(unsigned long *n)
{ unsigned long x=0, i; int t;
i=1;
while(*n)
/**********found**********/
{ t=*n % __1__;
/**********found**********/
if(t%2!= __2__)
{ x=x+t*i; i=i*10; }
*n =*n /10;
}
/**********found**********/
*n=__3__;
}
main()
{ unsigned long n=-1;
while(n>99999999||n<0)
{ printf("Please input(0
fun(
printf("/nThe result is: %ld/n",n);
}
问答题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用.1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数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",
{printf (" open fail ! ! /n") ; exit (0) ; }
ReadText ( fp) :
fclose ( fp) ;
}
void WriteText(FILE ____1____)
{ char strl81l;
printf("/nEnter string with —1
to end :/n");
gets (str) ;
while (strcmp (str,"—1") ! =0) {
fputs (____2____,fw) ;
fputs ("/n",fw) ;
gets (str) ;
}
}
voicl ReadText (FILE *fr)
{ char str [81] ;
printf("/nRead file and output
to screen :/n") ;
fgets (str,81,fr) ;
while ( ! feof (fr)) {
printf("%s",____3____ );
fgets (str,81,fr) ;
}
}
问答题编写函数,把任意十进制正整数转换成二进制数。提示:把十进制数不断被2除的余数放在一个一维数组中,直到商数为零。在主函数中进行输出,要求不得按逆序输出。
问答题给定程序modil.c的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include < stdio.h >typedef struct list{int data;struct list*next;}LTST;int fun(LTST*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的功能是:将N X N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后为: 3 2 1 4 5 6 9 8 7 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#define N 4/******found******/void fun(int___1___,int n){ int i,s;/******found******/for(___2___;i++){ s=t[i][i]; t[i][i]=t[i][n—i一1];/******found******/ t[i][n一1一i]=___3___; }}main(){ int t[][N]=t 21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;prinff(“\nThe original array:\n”);for(i=0;i<N;i++){ for(j=0;j<N;j++) prinff(“%d”,t[i][j]); printf(“\n”); } fun(t,N); prinff(“\nThe result is:\n”); for(i=0;i<N;i++) { for(j=0;j<N;j++) prinff(“%d”,t[i][j]); printf(“\n”); }}
问答题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 5
#define M 10
int fun (char (*ss) [Ml,int k)
{int i,j=0,len;
{ len=strlen (ss [i] ) ;
if (len<= 2 )
strcpy (ss[j++],____3____) ; )
return j;}
main ()
{ char
x [N] [M]= { "Beij ing"," Shanghai",
"Tianjing","Nanjing","Wuhan" } ;
int if f;
printf("/nThe original
string/n/n") ;
for (i=0;i
问答题下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。 例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=12.0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >void fun(float*a,float*b,float* c){/*********found*********/ float*k; if(*a < *b) { k=*a; *a=*b; * b=k; )/*********found*********/ if(*a > * c) { k=*c; *c=*a; *a=k; } if(*b < *c) { k=*b; *b=*c; *c=k; }}main(){ float a,b,c; printf("Input a b c:"); scanf("%f%f%f",&a,&b,&c); printf("a=%4.1 f,b=%4.1 f,c=%4.1 f/n/n",a,b,c); fun(&a,&b,&c); printf("a=%4.1 f,b=%4.1 f,c=%4.1 f/n/n",a,b,c);}
问答题请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如,字符串数组中的M个字符串为
AAAA
BBBBBBB
CC
则合并后的字符串的内容应是:
AAAABBBBBBBCC。
提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define M 3
#define N 20
void fun(char a[M][N], char *b)
{
}
main ()
{ charw[M] [N]={"AAAA","BBBBBBB",
"CC"},a[100];
int i /void NONO ();
printf("The string:/n");
for(i=0; KM; i++) puts (w[i] ) ;
printf("/n");
fun (w, a) ;
printf("The A string:/n");
printf("%s"fa);printf("/n/n");
NONO();
}
void NONO ()
{/*请在此函数内打开文件,输入测试数
据,调用fun函数,输出数据,关闭文件。
*/
FILE *rf, *wf ;
char w[M][N], a[100] ; int i ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(rf,"%s %s %s",w[0],w[l],
w[2]);
fun(w, a);
fprintf(wf, "%s/n", a);
}
fclose(rf); fclose(wf);
}
问答题下列给定程序中,函数fun的功能是:先将字符串s中的字符按正序存放到字符串t中,然后把s中的字符按逆序连接到字符串t的后面。
例如,当s中的字符串为“ABCDE”时,则t中的字符串应为“ABCDEEDCBA”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdlib.h>
#include <conio<a>h<a>
#include <stdio.h>
#include <string.h>
void fun(char *s, char *t)
{
int i,s1;
s1=strlen(s);
/**********found**********/
for(i=0;i<=s1;i++)
t[i]=S[i];
for(i=0;i<s1;i++)
t[s1+i]=S[i];
/**********found**********/
t[s1]="\0";
}
void main()
{
char s[100],t[100];
system("CLS");
printf("\nPlease enter string s:");
scanf("%s",s);
fun(s,t);
printf("The result is:%s\n",t);
}
问答题填空题
str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。请补充函数fun(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如:str=“Bcd123e456hui890”,结果为:123456890。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define N 80
int bb[N];
int fun(char s[],int bb[],int num)
{
int i,n=0;
for(i=0;i
问答题编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串“123412132”,输入字符为“1”,则输出3。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#def2ne M 81int fun(char*ss,char c){}void main(){ char a[M],ch; system("CLS"); printf("\nPlease enter a string:"); gets(a); printf("\nPlease enter a char:"); ch=getchar(); printf("\nThe number of the char is:%d\n",fun(a,ch)),}
问答题下列给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <string.h> char *fun(char *s, char *t) char*p,*r, *a; /******************found*******************/ a=Null; while(*s) p=s; r=t; while(*r) /******************found*******************/ if(r==p)r++; p++; else break; if(*r=='/0')a=s; s++; return a; void main() char s[100], t[100], *p; printf("/nPlease enter string S:"); scanf("%s", s); printf("/nPlease enter substring t:"); scanf("%s", t); p=fun(s, t); if(p) printf("/nThe result is:%s/n", p); else printf("/nNot found!/n");
