C语言程序设计填空题及答案复习用

上传人:m**** 文档编号:152042001 上传时间:2022-09-14 格式:DOCX 页数:12 大小:42.39KB
收藏 版权申诉 举报 下载
C语言程序设计填空题及答案复习用_第1页
第1页 / 共12页
C语言程序设计填空题及答案复习用_第2页
第2页 / 共12页
C语言程序设计填空题及答案复习用_第3页
第3页 / 共12页
资源描述:

《C语言程序设计填空题及答案复习用》由会员分享,可在线阅读,更多相关《C语言程序设计填空题及答案复习用(12页珍藏版)》请在装配图网上搜索。

1、导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是 要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序 在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的 编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解, 而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而 提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数 的对调操作。 #include main() { int a,b; sca

2、nf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:兀2/6心 1/12+1/22+1/32+ ……+l/n2,求 n 值。 #include double pi(long n) { double s=0.0; long i; for(i=1 ;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 fi

3、ndmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

4、 s=s+t; ② ; t>0?t=-1:1; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1 ;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习 成绩,统计并输出最高成绩和最低成绩,当输入为负数 时结束输入。

5、 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数, 所得的二进制数放在一个一维数组中返回,二进制数的 最低位放在下标为 0 的元素中。 fun(int x,int b[]) { int k=0,r; do { r=x% ①

6、 ; b[k++]=r; x/= ② ; }while(x); } 【3.8】下面程序的功能是输出1 到 100之间每位数的乘 积大于每位数的和的数。例如数字26,数位上数字的乘 积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1 ;n<=100;n++) { k=1 ; s=0; ① ; while( ② ) { k*=m%10; s+=m%10; ③; } if(k>s) printf("%d",n); } } 【3.9】下面程序的功能是统计用0至 9之间的不同的数 字组成的三位数的个数。 main() {

7、int i,j,k,count=0; for(i=1;i<=9;i++) for(j=0;j<=9;j++) if( ① ) continue; else for(k=0;k<=9;k++) if( ② ) count++; printf("%d",count); } 【3.10】下面程序的功能是输出100 以内的个位数为6、 且能被 3 整除的所有数。 main() { int i,j; for(i=0; ① ;i++) { j=i*10+6; if( ② ) countinue; printf("%d",j); } } 【3.11】下面程序的功能是用辗转相除法求两个正整数m

8、 和n的最大公约数。 hcf(int m,int n) { int r; if(m main() {①; int i,j; printf("Input 10 numbers please\n"); for(i=0; ② ;i++ ) scanf("%f", &a[i

9、]); printf("\n"); for(i=2; ③ ;i++ ) for(j=0; ④ ;j++ ) if( ⑤ ) { x=a[j] ; ⑥; a[j+1]=x; } printf("The sorted 10 numbers;\n"); for(i=0; ⑦ ;i++ ) { if( ⑧ ) printf("\n"); printf("%f\t",a[i]); printf("\n"); } 【3.13】下面程序的功能是读入20 个整数,统计非负数 个数,并计算非负数之和。 #include "stdio.h" main() { int i,a[20],s

10、,count; s=count=0; for(i=0;i<20;i++ ) scanf("%d", ① ); for(i=0;i<20;i++) { if(a[i]<0) ② ; s+=a[i]; count++; } printf("s=%d\t count=%d\n",s,count); } 【3.14】下面程序的功能是删除字符串s中的空格。 #include main() { char *s="Beijing ligong daxue"; int i,j; for(i=j=0;s[i]!='\0';i++) if(s[i]!= ' ') ① ; el

11、se ② ; s[j]= '\0'; printf("%s",s); } [3.15]下面程序的功能是将字符串s中所有的字符'c' 删除。请选择填空。 #include main( ) { char s[80]; int i,j; gets(s); for(i=j=0;s[i]!= '\0';i++ ) if(s[i]!= 'c') ① ; s[j]= '\0'; puts(s); } 【3.16】下面程序的功能是输出两个字符串中对应相等 的字符。请选择填空。 #include char x[]="programming"; cha

12、r y[]="Fortran"; main() { int i=0; while(x[i]!= '\0' && y[i]!= '\0') if(x[i]==y[i]) printf("%c", ① ); else i++; } 【3.17】下面程序的功能是将字符串s中的每个字符按 升序的规则插到数组a中,字符串a已排好序。 #include main() { char a[20]="cehiknqtw"; char s[]="fbla"; int i,k,j; for(k=0;s[k]!= '\0';k++ ) { j=0; while(s[k]>=a

13、[j] && a[j]!= '\0' ) j++; for( ① ) ② ; a[j]=s[k]; puts(a); } 【3.18】下面程序的功能是对键盘输入的两个字符串进 行比较,然后输出两个字符串中第一个不相同字符的 ASCII码之差。例如:输入的两个字符串分别为"abcdefg" 和"abceef",则输出为T。 #include main() { char str1[100],str2[100],c; int i,s; printf("Enter string 1: "); gets(str1); printf("Enter string 2:

14、"); gets(str2); i=0; while((str1[i] == str2[i] && str1[i]!= ① )) i++; s= ② ; printf("%d\n", s); } 【3.19】下面的函数expand在将字符串s复制到字符串 t 时, 将其中的换行符和制表符转换为可见的转义字符 表示,即用’\n'表示换行符,用'\t'表示制表符。 expand(char s[],char t[]) { int i,j; for(i=j=0;s[i]!= '\0' ;i++ ) switch (s[i]) { case '\n': t[ ① ] = ② ; t[j++

15、] = 'n' ; break; case '\t': t[ ③ ] = ④ ; t[j++] = 't' ; break; default: t[ ⑤ ] = s[i]; break; t[j] = ⑥ ; } 【3.20】下面的函数index(char s[], char t[])检查字 符串s中是否包含字符串t,若包含,则返回t在s中的 开始位置(下标值),否则送回-1。 index(char s[], char t[]) { int i,j,k; for(i=0;s[i]!= '\0';i++ ) { for(j=i,k=0; ① && s[j]==t[k];

16、j++,k++) ; if( ② ) return (i); } return(-1); } n 【3.21】下面程序的功能是计算S= k!。 k=0 long fun(int n) { int i ; long s; for(i=1 ;i ① ;i++) s*=i ; return( ② ) ; } main() { int k,n; long s; scanf("%d",&n); s= ③ ; for(k=0;k<=n;k++) s+= ④ ; printf("%ld\n",s); } 【3.22】下面程序的功能是显示具有n个元素的数组s 中的最大元

17、素。 #define N 20 main() { int i,a[N]; for(i=0;is[k]) ② ; return(k); } 【3.23】下面程序的功能是由键盘输入n,求满足下述条 件的 x、y: nx和ny的末3位数字相同,且x#y, x、y、n均为自然 数,并使x+y为最小。 #include pow3(int n,int x

18、) { int i, last; for(last=1,i=1;i<=x;i++ ) last= ① ; return(last); } main() { int x,n,min,flag=1; scanf("%d", &n); for(min=2;flag;min++) for(x=1;x

19、e double mysqrt( double a, double x0 ) { double x1, y; x1 = ① ; if( fabs(x1-x0)>0.00001 ) y = mysqrt( ② ); else y = x1; return( y ); } main() { double x; printf("Enter x: "); scanf("%lf", &x); printf("The sqrt of %lf=%lf\n", x, mysqrt( x, 1.0) ); } 【3.25】以下程序是计算学生的年龄。已知第一位最小 的学生年

20、龄为10岁,其余学生的年龄一个比一个大2岁, 求第 5个学生的年龄。 #include age( int n ) { int c; if( n==1 ) c=10; else c= ① ; return(c); } main() { int n=5; printf("age:%d\n", ② ); } 【3.26】下面的函数sum(int n)完成计算1〜n的累加和。 sum(int n) { if(n<=0) printf("data error\n"); if(n==1) ① ; else ② ; } 【3.27】下面的函数是一个求阶乘的递归调用

21、函数。 facto(int n) { if( n == 1 ) ① ; else return( ② ) ; } 【3.28】组合问题,由组合的基本性质可知: (1) C(m,n)=C(n-m,n) (2) C(m,n+1)=C(m,n)+C(m-1,n) 公式(2)是一个递归公式,一直到满足C(1,n)=n为止。 当n〈2*m时,可先用公式(1)进行简化,填写程序中的 空白,使程序可以正确运行。 #include"stdio.h" main() { int m,n; printf("Input m,n="); scanf("%d%d", &m, &n) ; prin

22、tf("The combination numbeers is %d\n", combin(m,n)) ; } combin( int m, int n) { int com; if( n〈2*m ) m=n-m; if( m==0 ) com=1 ; else if(m==1) ① ; else ② ; return(com) ; } 【3.29】下列函数是求一个字符串str的长度。 •••••• int strlen( char *str ) ① if(re turn (0); else ret②Tn);( } 【3.30】用递归实现将输入小于32768 的整数

23、按逆序输 出。如输入 12345,则输出 54321。 #include"stdio.h" main() { int n; printf("Input n : "); scanf("%d", ① ) ; r(n) ; printf("\n") ; } r( int m ) { printf("%d", ② ) ; m =③; if( ④ ) ⑤; } 【3.31】输入n值,输出高度为n的等边三角形。例如 当 n=4 时的图形如下: * *** *i* *i* *i* *i* *i* *i* *i* #include void prt

24、( char c, int n ) { if( n>0 ) { printf( "%c", c ); ① ; } } main() { int i, n; scanf("%d", &n) ; for( i=1 ; i<=n; i++ ) { ② ; ③ ; printf("\n") ; } } 【3.32】下面的函数实现N层嵌套平方根的计算。 double y(double x, int n) { if( n==0 ) return(0) ; else return ( sqrt(x+( ① )) ); } 【3.33】函数revstr(s)将字符串s

25、置逆,如输入的实参 s为字符串"abcde",则返回时s为字符串"edcba"。递 归程序如下: revstr( char *s ) { char *p=s, c; while(*p) p++; ① ; if(s

26、【3.34】下面函数用递归调用的方法,将str中存放的 长度为n的字符串反转过来,例如原来是"ABCDE",反序 为〃 EDCBA"。 void invent(char *str, int n) { char t; t=*str; *str=*(str+n-1); *(str+n-1)=t; if(n>2) invent ( ① , n-2) ; else ② ; } 【3.35】从键盘上输入10个整数,程序按降序完成从大 到小的排序。 #include int array[10]; sort( int *p, int *q ) { int *max,

27、 *s; if( ① ) return; max=p; for( s=p+1; s<=q; s++) if( *s > *max ) ② ; swap( ③ ); sort( ④ ); } swap( int *x, int *y ) { int temp; temp=*x; *x=*y; *y=temp; } main() {inti; printf("Enterdata:\n"); for(i=0; i<10; i++) scanf("%d", &array[i]); sort( ⑤ ); printf("Output:"); for( i=0; i<10; i

28、++) printf("%d ", array[i]); } 【3.36】下面函数的功能是将一个整数存放到一个数组 中。存放时按逆序存放。例如:483 存放成"384"。 #include void convert(char *a, int n) { int i; if((i=n/10) !=0 ) convert( ① , i ); *a = ② ; } char str[10]= " "; main() { int number; scanf("%d", &number); convert( str, number ); puts(str); } 【

29、3.37】下面程序的功能是实现数组元素中值的逆转。 #include main() { int i,n=10,a[10]={1,2,3,4,5,6,7,8,9,10}; invert(a,n-1); for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); } invert(int *s,int num) { int *t,k; t=s+num; while( ① ) { k=*s; *s=*t; *t=k; ② ; ③ ; } } 【3.38】下面程序通过指向整型的指针将数组a[3][4] 的内容按

30、3行x 4列的格式输出,请给printf()填入适 当的参数,使之通过指针p将数组元素按要求输出。 #include int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}, *p=a; main() { int i,j; for(i=0;i<3;i++ ) { for(j=0;j<4;j++ ) printf("%4d ", ① ) ; } } 【3.39】下面程序的功能是:从键盘上输入一行字符, 存入一个字符数组中,然后输出该字符串。 #include main ( ) { char s

31、tr[81], *sptr; int i ; for(i=0;i<80;i++ ) { str[i]=getchar( ); if(str[i]== '\n') break; } str[i]= ① ; sptr=str; while( *sptr ) putchar( *sptr ② ) ; } 【3.40】下面函数的功能是将字符变量的值插入已经按 ASCII 码值从小到大排好序的字符串中。 void fun(char *w,char x,int *n) { int i,p=0; while(x>w[p]) ① ; for(i=*n;i>=p;i--) ② ;

32、 w[p]=x; ++*n; } 【3.41】下面程序的功能是从键盘上输入两个字符串, 对两个字符串分别排序;然后将它们合并,合并后的字 符串按 ASCII 码值从小到大排序,并删去相同的字符。 #include strmerge(a, b, c) /*将已排好序的字符串a、b合并 到 c */ char *a, *b, *c; { char t, *w; w=c; while( *a!= '\0' ① *b!='\0' ) { t=②?*a++:*b〈*a ? *b++ :(③);/* 将*a、*b 的小者存入 t */ if( *w ④ '\0' )

33、*w=t; else if( t⑤*w) *++w=t; /*将与*可不相同的t存 入 w */ } while( *a != '\0' ) /*以下将a或b中剩下的字符存 入 w */ if( *a != *w ) *++w=*a++; else a++; while( *b != '\0') if( *b != *w ) *++w=*b++; else b++; *++w = ⑥ ; } strsort( char *s ) /* 将字符串 s 中的字符排序 */ { int i , j, n; char t , *w; ⑦; int n, *pa; 【3

34、.43】下面程序的功能是输入学生的姓名和成绩,然 for( n=0;*w != '\0'; ⑧ ) { int count, total, temp; 后输出。 w++; *pa = 2; #include for( i=0;is[j] ) count=2; int score; /* 学生成绩 */ {⑨ } while( count++

35、) } stu, *p; } { temp = *(pa-1) * *pa; main ( ) main( ) if( temp<10 ) { p=&stu; { char s1[100], s2[100], s3[200]; { total += temp; printf("Enter name:") ; printf("\nPlease Input First String:"); *(++pa) = temp; gets( ① ); scanf("%s",s1); } printf("Enter score: "); printf("\nPlease I

36、nput Second String:"); else scanf("%d", ② ) ; scanf("%s",s2); { ② = temp/10; printf("Output: %s, %d\n", ③ , ④ ) ; strsort(s1); total += *pa; } strsort(s2); if( count

37、束。 printf("\nResult:%s",s3); total += *pa; •• #include } } #include 【3.42】已知某数列前两项为2 和 3,其后继项根据前面 } #define NUM 4 最后两项的乘积,按下列规则生成: } • struct student ① 若乘积为一位数,则该乘积即为数列的后继项; ④; • { int ran;k ② 若乘积为二位数,则该乘积的十位上的数字和个位上 } char *name; 的数字依次作为数列的两个后继项。 main() flo

38、at score; 下面的程序输出该数列的前N项及它们的和,其中,函 { int n, *p, *q, num[MAXNUM]; • } 数sum(n,pa)返回数列的前N项和,并将生成的前N项 do ① stu[ ] = { 3, ""liming", 89.3, 存入首指针为pa的数组中,程序中规定输入的N值必须 { printf("Input N=? (2

39、10,则程序输出如下内容: }while( ⑤ ) ; ,""wangqi", 90.6 sum(10)=44 printf("\nsum(%d)=%d\n", n, sum(n, num)); }; 2 3 6 1 8 8 6 4 2 4 for( p=num, q = ⑥ ; p

40、•••• do if( i〉=NUM ) printf("Not found\n")并将输入的数按从小到大的顺序进行排列。要求:当两 { printf("Enter a name"); •••••••• sc,ansft(r")%;s" •••••••• ;foir<(NUiM=;0 i++ ) ②)if( { printf("Name , :%ts\ii]'.name); •••••••• printf("Rank,:s%t3ud[\in]".rank); printf ("Average :%5.1f\n", stu[i].score); ③ ; ••••••••,

41、} iiiiiiii }while( st,rc"m0p"()s!t=r0 ) iiiiiiii} 【3.45】下面程序的功能是从终 端上输入5个人的年龄、性别和 姓名,然后输出。 #include "stdio.h" struct man { char name[20]; unsigned age; char sex[7]; }; main ( ) { struct man person[5]; data_in(person,5); data_out(person,5); } data_in(structman *p, int n ) { struct man *q = ① ;

42、 for( ; pname, p->age,,p->sex); } 【3.46】输入N个整数,储存输入的数及对应的序号 个整数相等时,整数的排列顺序由输入的先后次序决定。 例如:输入的第3 个整数为5,第7 个整数也为5,则将 先输入的整数

43、5排在后输入的整数5的前面。程序如下: #include "stdio.h" #define N 10 struct { int no; int num; } array[N] ; main( ) { int i , j, num; for( i=0; i

44、( i=0; i

45、ar( )) ① ) { p=(struct node *)malloc(sizeof(struct node)); p-〉info=c; p-〉link=top; top=p; } while( top ) { ②; top=top-〉link; putchar(p-〉info); free(p) ; } } 【3.48】下面函数将指针p2所指向的线性链表,串接到 pl所指向的链表的末端。假定pl所指向的链表非空。 #define NULL 0 struct link { float a; struct link *next; }; 整数。 int score;

46、concatenate ( p1,p2 ) #include struct student *next; struct list *p1,*p2; struct data }; { if( p1->next==NULL ) { int x ; struct student *creat() p1->next=p2; struct data *link; { struct student *head=NULL,*tail; else }*p; long num; int a; concatenate( ① ,p2); input() tail

47、= ① malloc(LEN); } { int num; do struct data *q; { scanf("%ld,%d",&num,&a); 【3.49】下面程序的功能是从键盘输入一个字符串,然 printf("Enter data:"); if(num!=0) 后反序输出输入的字符串。 scanf("%d", &num); { if(head==NULL) head=tail; #include if( num<0 ) else ② ; struct node ①; tail->num=num; tail->score=a;

48、 { char data; q =②; tail->next=(struct student *)malloc(LEN); struct node *link; q->x = num; } }*head; q->link = p; else tail->next=NULL; main() p=q; }while(num!=0); { char ch; ③; return( ③ ); struct node *p; } } head = NULL; main() while(( ch=getchar())!='\n' ) { printf("Ent

49、er data until data<0:\n"); 【3.52】下面 create 函数的功能是建立一个带头结点的 { p = (struct node *)malloc(sizeof(struct node)); p=NULL; 单向链表,新产生的结点总是插入在链表的末尾。单向 p->data = ch; input(); 链表的头指针作为函数值返回。 p->link = ① ; printf("Output:"); #include head = ② ; while( ④ ) #define LEN sizeof(struct student

50、) } { printf("%d\n", p->x); struct student ③; ⑤; { long num; while( p!=NULL ) } int score; { printf("%c ", p->data); } struct student *next; p = p->link; }; } 【3.51】下面函数的功能是创建一个带有头结点的链表, struct student *creat() } 将头结点返回给主调函数。链表用于储存学生的学号和 { struct student *head=NULL,*tail; 成绩

51、。新产生的结点总是位于链表的尾部。 long num; 【3.50】下面程序的功能是从键盘上顺序输入整数,直 struct student int a; 到输入的整数小于0 时才停止输入。然后反序输出这些 { long num; tail=( ① )malloc(LEN); do { scanf("%ld,%d",&num,&a); if(num!=0) { if(head==NULL) head=tail; else tail=tail->next; tail->num=num; tail->score=a; tail->next=( ② )malloc(LEN);

52、 } else tail->next=NULL; }while(num!=0); ③ ; } 【3.53】下面程序的功能是统计文件中的字符的个数。 #include main() { long num=0; ① *fp; if((fp=fopen("fname.dat", "r"))==NULL) { printf("Can't open the file! "); exit(0); } while( ② ) { fgetc(fp); num++; } printf("num=%d\n",num); fclose(fp); } 【3.54】下面程序

53、的功能是把从键盘输入的文件(用 @ 作为文件结束标志)复制到一个名为 second.txt 的新文 件中。 #include FILE *fp; main() { char ch; if((fp=fopen( ① ))==NULL) exit(0); while((ch=getchar())!='@') fputc(ch,fp); ②; } 【3.55】下面程序的功能是将磁盘上的一个文件复制到 另一个文件中,两个文件名在命令行中给出(假定给定 的文件名无误)。 #include main(int argc,char *argv[]

54、) { FILE &f1,*f2; if(argc< ① ) { printf("The command line error! "); exit(0); } f1=fopen(argv[1], "r"); f2=fopen(arhv[2], "w"); while( ② ) fputs(fgetc(f1), ③ ); ④ ; ⑤ ; } 【3.56】下面程序的功能是根据命令行参数分别实现一 个正整数的累加或阶乘。例如:如果可执行文件的文件 名是sm,则执行该程序时输入:〃sm + 10",可以实现 10的累加;输入: "sm - 1 0 " ,可以实现求1 0的阶乘。

55、 #include #include main (int argc,char *argv[]) { int n; void sum(),mult(); void (*funcp)(); n=atoi(argv[2]); if(argc!=3 || n<=0) dispform( ); switch ( ① ) { case '+': funcp=sum; break; case '-': funcp=mult; break; default: dispform( ); } ②; } void sum(int m) { int i,

56、s=0; for(i=1 ;i0)\n"); exit (0); } 【3.57】下面程序的功能是键盘上输入一个字符串,把 该字符串中的小写字母转换为大写字母,输出到文件 test.txt 中,然后从该文件读出字符串并显示出来。 #include <

57、stdio.h> main() { char str[100]; int i=0; FILE *fp; if((fp=fopen("test.txt", ① ))==NULL) { printf("Can't open the file.\n"); exit(0); } printf("Input a string:\n"); gets(str); while(str[i]) { if(str[i]>= 'a'&&str[i]<= 'z') str[i]= ② ; fputc(str[i],fp); i++; } fclose(fp); fp=fopen("test.txt",

58、③ ); fgets(str,strlen(str)+1,fp); printf("%s\n",str); fclose(fp); } 【3.58】下面程序的功能是将从终端上读入的10 个整数 以二进制方式写入名为"bi.da t"的新文件中。 #include FILE *fp; main() { int i, j; if(( fp=fopen( ① , "wb" )) == NULL ) exit (0); for( i=0;i<10;i++ ) { scanf("%d", &j ); fwrite( ② , sizeof(int), 1, ③ )

59、; } fclose( fp); } 【3.59】以字符流形式读入一个文件,从文件中检索出 六种C语言的关键字,并统计、输出每种关键字在文件 中出现的次数。本程序中规定:单词是一个以空格或 '\ t'、’\n'结束的字符串。 #include #include FILE *cp; char fname[20], buf[100]; int num; struct key { char word[10]; int count; }keyword[]={ "if", 0, "char", 0, "int", 0, "else",

60、0, "while", 0, "return", 0}; char *getword (FILE *fp) { int i=0; char c; while((c=getc(fp)) != EOF && (c==' '||c=='\t'||c=='\n')) ; if( c==EOF ) return (NULL) ; else buf[i++]=c; while((c = ① && c!= ' ' && c!= '\t' && c!= '\n' ) buf[i++] = c; buf[i]= '\0' ; return(buf); } lookup(char *p) { int i

61、 ; char *q, *s; for(i=0;i

62、 exit(0); } num = sizeof(keyword) / sizeof(struct key); while( ⑤ ) lookup(word); fclose(cp); for(i=0; i

63、若 磁盘文件"try.dat",已存在,则要保留文件中原来的信 息;若文件"try. dat"不存在,则在磁盘上建立一个新文 件;⑵当输入的姓名为空时(长度为0),结束程序。 ^include〈stdio. h> main() { FILE *fp; int flag; char name[30], data[30]; if ((fp=fopen ("try.dat", ① ))==NULL ) { printf("Open file error\n,/); exit (0); } do { printf("Enter name:"); gets(name); if ( strlen(name)=0 ) break; strcat(name, "\n"); ②; flag=l; while( flag && (fgets(data, 30, fp) ③ )) if ( strcmp (data, name) == 0 ) ④ ; if( flag ) fputs(name, fp); else printf("\tData enter error !\n"); } while (⑤); fclose (fp);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!