付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序 完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在 课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读 者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高 学习的效率。3.1 1下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <stdio.h>main()int a,b ;scanf("
2、;%d%d",&a,&b);p rintf("a=%d,b=%dn",a,b);a=;b=;a=;p rintf("a=%d,b=%dn",a,b);2/6 1/12+1/22+1/32+3.2】下面程序的功能是根据近似公式:Tt 求冗值。#inelude <math.h> double pi(long n)double s=0.0;long i ;for(i=1 ; i<=n ; i+) s=s+ ; return();3.3 1下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,i n
3、t t,int *k)intp ;for(p=0,*k =p; p<t ; p+)if(sp<s*k);main()int a10,i,*k=&;for(i=0 ; i<10 ; i+) scanf("%d",&ai); findmin(a,10,k) ;p rintf("%d,%dn",*k,a*k)-99+101 的值。3.4 下面程序的功能是计算1-3+5- 7+main()int i,t=1,s=0;for(i=1 ; i<=101 ; i+=2);s=s+t ;;p rintf("%dn&quo
4、t;,s)3.5 1有以下程序段:s=1.0 ;f甜孵F ; kv=n ; k+)s=s+1.0/(k*(k+1);p rintf("%fn",s);填空完成下述程序,使之与上述程序的功能完全相同。8=0.0 ;;k=0 ;do s=s+d ;;d=1.0/(k*(k+1);while();P rintf("%fn",s);统计并输出最高成绩和3.6 1下面程序的功能是从键盘上输入若干学生的学习成绩, 最低成绩,当输入为负数时结束输入。main()float x,amax,ami n ;scanf("%f',&x);amax=x
5、 ; amin=x ;while()if(x>amax) amax=x if()amin=x ; scanf("%f',&x);pnntf("n amax=%fnamin=%frr,amax,amin)3.7 1下面程序的功能是将形参X的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。fun(int x,int b)int k=0,r;dor=x% ;bk+=r ;x/=;while(x);3.8 1下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26 ,数位上数字的乘积 12大于
6、数字之和8omain()intn ,k=1 ,s=0,m;for(n=1 ; *=100 ; n+)k=1 ;s=0 ; ;while()k*=m%10;s+=m%10 ;;3.9 下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。main()int i,j,k,count=0;for(i=1 ; i<=9 ; i+)forG=0 ; j<=9 ; j+)if()continue ;else for(k=0 ; k<=9 ; k+)if()count+ ;p rintf("%d",count) ;3.10】下面程序的功能是输出100以内的个位
7、数为6、且能被3整除的所有数。main()int i,j ;for(i=0 ;;i+)j=i*10+6;if()countinue ;m和n的最大公约数。p rintf("%d"j);3.11 1下面程序的功能是用辗转相除法求两个正整数hcf(int m,int n)intr ;if(m<n)r=m ;;n=r ;r=m%n ; while()m=n ;n=r ;r=m%n ;3.12 1下面程序的功能是使用冒泡法对输入的10个浮点数从小到大进行排序。排好序的10个数分两行输出。程序如下:#include <stdio.h>main();int ij ;p
8、rintfC'Input 10 numbers pleasen");i+)for(i=0 ;; scanf("%f', &ai) p rintf("n");for(i=2 ;;for(j=0 ;; if() x=aj;;aj+1=x ;;n”);printf("The sorted 10 numbers for(i=0 ;;i+)if()p rintf("n"); printf("%ft",ai) ;printf("n")3.13 1下面程序的功能是读入20个整
9、数,统计非负数个数,并计算非负数之和。#include "stdio.h" main()int i,a20,s,count s=co unt=0 ;for(i=0 ; i<20 ; i+) scanf("%d",); for(i=0 ; i<20 ; i+)if(ai<0);s+=ai;count+ printf("s=%dt count=%dn",s,count)3.14 1下面程序的功能是删除字符串S中的空格。#inelude <stdio.h>main() char *s="Beijing
10、 ligong daxue" ;int ij ;for(i=j=0 ; si!='0' i+)if(si!=");else ;sD= '0';p rintf("%s",s);3.15 1下面程序的功能是将字符串S中所有的字符C删除。请选择填空。#in clude<stdio.h> main()char s80;int ij ;gets(s);for(i=j=0 ; si!= '0' i+)if(si!= 'c');sD= '0'puts(s);3.16 下面程序的
11、功能是输出两个字符串中对应相等的字符。请选择填空。#inelude <stdio.h> char x=" programmi ng" char y="Fortran" ; main()int i=0 ;while(xi!= '0' && yi!= '0') if(xi=yi)printf("%c", );else i+ ;3.17 1下面程序的功能是将字符串S中的每个字符按升序的规则插到数组 a中,字符串a已排好序。#inelude <string.h>main(
12、)char a20="cehiknqtw" ;char s="fbla"int i,kj ;for(k=0 ; sk!= '0' k+)j=0 ;while(sk>=aj && aj!= '0')j+ ;for() ;aj=sk;puts(a);码之差。例如:输入的两个字符串分别为"abcdefg”和3.18 1下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串 中第一个不相同字符的ASCII"abceef ,则输出为-1 o#include <stdio.h
13、> main()char str1100,str2100,cint i,s ;gets(strl); gets(str2);printfC'Enter string 1:");,printfC'Enter string 2: ”);,i=0 ;)while(str1i = str2i && str1i!= i+ ;s=;printf("%dn", s) ;【3.19】下面的函数expand在将字符串s复制到字符串t时,将其中的换行符和 制表符转换为可见的转义字符表7F,即用 'n'表7F换行符,用't&
14、#39;表7F制表符。expan d(char s,char t)int ij ;for(i=j=0 ; si!= '0' i+)switch (si) case 'n': t =;tj+ = 'n'break ;case 't': t =;tj+ = 't'break ;default: t = si;break ; tj=;3.20 下面的函数index(chars, chart)检查字符串s中是否包含字符串t,若包含,则返回t在S中的开始位置(下标值),否则送回index(char s, char t)int
15、ij,k ;for(i=0 ; si!= '0' i+)for(j=i,k=0 ; && sj=tk; j+,k+);if() return (i);return(-1) n3.21 1下面程序的功能是计算S= k! ok=0long fun(int n)inti ;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("%ldn",s)
16、; for(min=2 ; flag ; min+) for(x=1 ; x<min && flag ; x+ ) if( && pow3(n,x)=pow3(n,min-x) printf("x=%d,y=%dn", x, min-x)3.22 1下面程序的功能是显示具有#define N 20main()int i,aN;for(i=0 ; i<N ; i+) scanf("%d",&ai);printf("%dn", );n个元素的数组s中的最大元素。fmax(int s,in
17、t n)int k,p ;for(p=0,k=p ; p<n ; p+) if(sp>sk); return (k);3.23 1下面程序的功能是由键盘输入nx和ny的末3位数字相同,且 xm#include <stdio.h>n ,求满足下述条件的 X、y:y, X、y、n均为自然数,并使 x+y为最小。pow3(int n,int x)int i, last ;for(last=1,i=1 ; i<=x ; i+ ) last=;return (last) ;main()int x,n,min,flag=1 scanf("%d", &
18、;n) ;3.24 1下面的程序是用递归算法求a的平方根。求平方根的迭代公式如下: #inelude <math.h>double mysqrt( double a, double xO ) double x1, y ;=;if(fabs(x1-x0)>0.00001 )y = mysqrt( );else y = x1 ;return(y );main()double X ;printfC'Enter x:");scanf("%lf', &x);printf("The sqrt of %lf=%lfn", x,
19、 mysqrt( x, 1.0)10岁,其余学3.25 1以下程序是计算学生的年龄。已知第一位最小的学生年龄为 生的年龄一个比一个大2岁,求第5个学生的年龄。#inelude <stdio.h> age( int n)int c ;if( n=1 ) c=10 else c=; return (c);main()int n=5;printf("age:%dn", );n的累加和。3.26 下面的函数sum(int n)完成计算1 sum(int n)if(n<=0)printf("data errorn");if(n=1);else ;
20、3.27 下面的函数是一个求阶乘的递归调用函数。facto(int n)if( n = 1 );else return();3.28 1组合问题,由组合的基本性质可知:(1) C(m,n)=C(n-m,n) C(m,n+1)=C(m,n)+C(m-1 ,n)公式(2)是一个递归公式,一直到满足C(1,n)=n为止。当*2*m 时,可先用公式进 行简化,填写程序中的空白,使程序可以正确运行。#include"stdio.h" main()int m,n ;printfC'Input m,n=");scanf("%d%d", &m,
21、 &n);prin tf("The combi nation nu m beers is %dn", combi n(m,n) combin( int m, int n)int com ;if( n<2*m ) m=n-mif( m=0 ) com=1 ; else if(m=1);else ; return(com) ;3.29 下列函数是求一个字符串str的长度。? int strlen( char *str) ?if()return (0); ? ? else return ();13.30 1用递归实现将输入小于32768的整数按逆序输出。如输入 12
22、345 ,贝9输出54321 O#include"stdio.h"main()int n ;printfC'Input n : ”);scanf("%d",);r(n);printf("n");r( int m )printf("%d", ); m =;if();3.31 输入n值,输出高度为n的等边三角形。例如当 n=4时的图形如下:*#inelude <stdio.h> void prt( char c, int n ) if( n>0) printf( "%c",
23、 c) ; ; main() inti, n ;scanf("%d", &n)for( i=1 ; iv=n ;i+);p rintf("n");3.32 1下面的函数实现N层嵌套平方根的计算。double y(double x, int n)if( n=0));return (0);将字符串S置逆,如输入的实参S为字符串"abcde”,则返回 O递归程序如下:else return (sqrt(x+(3.33 函数 revstr(s) 时S为字符串"edcba” revstr( char *s) char *p=s, c ;
24、 while(*p) P+ ; ; if(s<p)c=*s ;*s=*p; ;revstr(s+1); ;如下是由非递归实现的revstr(s)函数:revstr (s)char*s ; char *p=s, c ;while( *p ) P+; ;while( s<p)c=*s ; =*p ;*P- = c ;3.34 1下面函数用递归调用的方法,将 str中存放的长度为n的字符串反转过来, 例如原来是"ABCDE",反序为"EDCBA”。void invent(char *str, int n)chart ;t=*str ;*str=*(str+n
25、-1)else ;;*(str+n-1)=t; if( n>2) invent (,n-2)3.35 从键盘上输入#inelude <stdio.h>10个整数,程序按降序完成从大到小的排序。int array10; sort( int *p, int *q ) int *max, *s ; if() return :max=p ; for( s=p+1;if( *s > *max);swap();sort(); swap( int *x, int *y ) int ternp temp=*x ;*x=*y ;*y=te mp ;s<=q ;S+)main()in
26、t i ;printf("Enter data :rr); for( i=0 ;i<10 ;i+)scanf("%d", &arrayi) ; sort();p rintfC'Output:") ;for( i=0 ;i<10 ;i+)printf("%d ", arrayi) ;3.36 下面函数的功能是将一个整数存放到一个数组中。483存放成"384"。#inelude <stdio.h>void convert(char *a, int n)存放时按逆序存放。例如:in
27、ti ;if(i=n/10) !=0) convert(,i);*a =;char str10=""main()int number ; scanf("%d", &number) convert( str, number) puts (str);3.37 1下面程序的功能是实现数组元素中值的逆转。#inelude <string.h>main()int i,n=10,a10=1,2,3,4,5,6,7,8,9,10;invert(a,n-1) ;for(i=0 ; i<10 ; i+)p rintf("%4d"
28、;,ai);p rintf("n");invert(int *s,int num) int *t,k ;t=s+num ;while()k=*s ;*s=*t ;*t=k ; ; ;3.38 下面程序通过指向整型的指针将数组a34的内容按3行X 4列的格式输出,请给Printf()填入适当的参数,使之通过指针P将数组元素按要求输出。#include <stdio.h>int a34=1,2,3,4,5,6,7,8,9,10,11,12, *p=a;main()int ij ;for(i=0 ; i<3 ; i+)forG=0 ; j<4 ; j+ )
29、 printf("%4d ",);3.39 1下面程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输 出该字符串。#inelude <stdio.h>main () char str81, *sptr ;int i ;for(i=0 ; i<80 ; i+)stri=getchar();if(stri= 'n') break ; stri=;sptr=str ;while( *sptr)putchar( *sptr );ASCII码值从小到大排好序的3.40】下面函数的功能是将字符变量的值插入已经按 字符串中。void fun
30、(char *w,char x,int *n)inti,p=O ;while(x>wp) ;for(i=*n ; i>=p ; i-); wp=x ;+*n ;3.41 1下面程序的功能是从键盘上输入两个字符串,对两个字符串分别排序;然后 将它们合并,合并后的字符串按ASCII码值从小到大排序,并删去相同的字符。#inelude <stdio.h>strmerge(a , b, c)/* 将已排好序的字符串a、b合并到c*/char*a , *b , *c; char t , *w ;w=c ;while( *a!= '0' *b!='0'
31、;)t= ?*a+:*b<*a ? *b+ :( if(*w '0') *w=t ;);/*将*3、*b的小者存入t*/将与*W不相同的t存入W*/while( *a != '0')/* 以下将 a if( *a != *w ) *+w=*a+;else a+ ;while( *b != '0')if( *b != *w ) *+w=*b+;else b+ ;*+w =;或b中剩下的字符存入W*/else if( t *w) *+w=t;/*S中的字符排序*/将字符串strsort( char *s ) /* inti , j, n; ch
32、art , *w ;;for( n=0 ; *w != '0')W+ ;for( i=0 ; i<n-1 ; i+)for( j=i+1; jvn ; j+ )if( si>sj) main()char s1 100, s2100 , s3200;printf("nPlease Input First String:") scanf("%s" , s1);printf("nPlease Input Second String:") scanf("%s" , s2);strsort(sl)
33、;strsort(s2);='0'strmerge(s1 , s2 , s3);printf("nResult:%s", s3);3.42 已知某数列前两项为 2和3,其后继项根据前面最后两项的乘积,按下列规则生成: 若乘积为一位数,则该乘积即为数列的后继项; 若乘积为二位数,则该乘积的十位上的数字和个位上的数字依次作为数列的两个后 继项。下面的程序输出该数列的前N项及它们的和,其中,函数sum(n,pa) 返回数列的前N项和,并将生成的前 N项存入首指针为pa的数组中,程序中规定输入的 N值必须大 于2 ,且不超过给定的常数值 MAXNUM O例如:若输入
34、N的值为 10 ,则程序输出如下内容:sum(10)=442361886424#include "stdio.h" #define MAXNUM 100 int sum(n, pa) int n, *pa ;int count, total, ternp*pa = 2 ;=3 ;total=5 ;count=2 ;while( count+<n)temp = *(pa-1) * *pa if(temp<10)total += temp ; *(+pa) = tern p ; else=temp/10 ; total += *pa ;if( countvn) co
35、unt +; pa+ ;=temp%10 ; total += *pa ;main()intn, *p, *q,numMAXNUM;do printfC'Input N=? (2<N<%d):", MAXNUM+1) scanf("%d", &n);while();pnntf("nsum(%d)=%dn", n, sum(n, num) for( p=num, q =; p<q ;p+ )printf("%4d", *p) ;p rintf("n");3.43 1下面程序
36、的功能是输入学生的姓名和成绩,然后输出。#include <stdio.h> struct Stu infchar name20; /* 学生姓名 */int score ;/* 学生成绩 */ Stu, *p ; main (),);p=&stu ; pnntf("Enter n ame:") gets(); pnntf("Enter score:") scanf("%d",); printfC'Output: %s, %dn"3.44 1下面程序的功能是按学生的姓名查询其成绩排名和平均成绩。查
37、询时可连续 进行,直到输入0时才结束。? #include <stdio.h>#inelude <string.h>#define NUM 4 ? struct student? int rank ;char *name float score ; ?;? 4 ,? 1 ,? 2 ,stu = 3 , "liming" , 89.3 ,"zhanghua" , 78.2 ,"anii" , 95.1 ,"wangqi" , 90.6 ?main()?charstr10;? int i ;?
38、do pnntf("Enter a name");? scanf("%s" , str);? for( i=0 ; i<NUM ; i+)? if()? printfC'Name :%8sn"? printfC'Rank :%3dn"? printfC'Average :%5.1fn"?;,) ;,stui.rank) ;,stui.score);? 1 ? if( i>=NUM ) printfC'Not foundn") ? while( strcm
39、p(str , "0")!=0); ?3.45 1下面程序的功能是从终端上输入5个人的年龄、性别 和姓名,然后输出。#include "stdio.h" struct man char name20 unsigned age char sex7;main ()struct man person5data_i n(person,5)num ;)data_out (person,5) ;data_ in( struct man *p, int n ) struct man *q =;for( ; p<q ; p+ ) prin tf( "ag
40、e:sex:n ame");scan f("%u%s", &p->age, p->sex);data_out( struct man *p, int n ) struct man *q = _ _;for( ; p<q ; p+ )printf("%s ; %u ; %sn", p->name, p->age, p->sex) 【3.46】输入N个整数,储存输入的数及对应的序号,并将输入的数按从小到大的顺 序进行排列。要求:当两个整数相等时,整数的排列顺序由输入的先后次序决定。例 如:输入的第3个整数
41、为5,第7个整数也为5,则将先输入的整数 5排在后输入的 整数5的前面。程序如下:#i nclude "stdio.h"#defi ne N 10 struct int no ; int num arrayN;mai n() int i , j, num ;for( i=0 ; i<N ; i+ ) printf("enter No. %d:",i);scanf("%d",&num);for(;j>=0&&arrayj.num arrayj+1=arrayj ; array.num=num ; ar
42、ray .no=i ;for( i=0 ; i<N ; i+ )printf("%d=%d, %dn" ,i, arrayi.num, arrayi.no)【3.47】以下程序的功能是:读入一行字符(如: a、y、z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序 输出,并释放全部结点。#in elude <stdio.h>mai n() struct node char info ;struct node *li nk ; *top , *p ;char c ;top=NULL ;while(c= get
43、char() ) p=(struct node *)malloc(sizeof(struct no de) p->in fo=c ;p->li nk=t op;top=p ;while( top );top=top->li nk ;pu tchar( p->info) ;free(p);【3.48】下面函数将指针 p2所指向的线性链表,串接到 p1所指向的链表的末端。 假定p1所指向的链表非空。#defi ne NULL 0struct linkfloat a ; struct link *nextcon cate nate ( p1, p2 )struct list
44、*p1, *p2 ;if(p 1->next=NULL) p1->next=p2 ;elsecon cate nate(,p 2);3.49 下面程序的功能是从键盘输入一个字符串,然后反序输出输入的字符串。#include <stdio.h>struct nodechar data ; struct node *link *head ;main()char ch ; struct node *p head = NULLwhile( ch=getchar()!='rV) p = (struct node *)malloc(sizeof(struct node) p
45、->data = ch ;p->link =;head =; ;while( p!=NULL) printf("%c", p->data) p = p->link;0时才停止3.50 1下面程序的功能是从键盘上顺序输入整数,直到输入的整数小于 输入。然后反序输出这些整数。#inelude <stdio.h>struct data intx ;struct data *link*P;inputOint num ; struct data *q ;p rintfC'Enter data:") scanf("%d&q
46、uot;, &num) if( num<0) ;q =; q->x = num ; q->li nk = p ;main() printf("Enter data until data<0:n") p=NULL ;inputO ;p rintfC'Output:") ;while()printf("%dn", p->x);;3.51 1下面函数的功能是创建一个带有头结点的链表,将头结点返回给主调函数。 链表用于储存学生的学号和成绩。新产生的结点总是位于链表的尾部。struct stude ntlon
47、g num ;int score :struct stude nt *nextstruct stude nt *creat()struct student *head=NULL,*taillong num ; int a ;tail= malloc(LEN);doscanf("%ld,%d",&num,&a) ; if(num!=0)if(head=NULL) head=tail ;else ;tail->num=num ; tail->score=a tail->next=(struct student *)malloc(LEN) els
48、e tail->next=NULL while(num!=O); return();3.52 下面create函数的功能是建立一个带头结点的单向链表,新产生的结点总 是插入在链表的末尾。单向链表的头指针作为函数值返回。#include <stdio.h>#define LEN sizeof(struct student) struct stude ntlong num ;int score ;struct stude nt *next :struct stude nt *creat()struct student *head=NULL,*tail long num ;int
49、a ;tail=()malloc(LEN);doscanf("%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);else tail->next=NULLwhile(num!=O);;3.53 1下面程序的功能是统计文件中的字符的个数。#inelude <stdio.h>main()long num=0 ; *
50、fp ;if(fp=fopen("fname.dat", "r")=NULL) printf("Can't open the file!");exit(O);while() fgetc(fp); nu m+ : printf("nu m=%dn",num) fclose(fp);作为文件结束标志)复制到3.54 1下面程序的功能是把从键盘输入的文件(用 一个名为second.txt 的新文件中。#inelude <stdio.h>FILE *fp ;main()char ch ;if(fp=fo
51、pen()=NULL)exit(O);while(ch=getchar()!='') fputc(ch,fp) ; ;3.55 1下面程序的功能是将磁盘上的一个文件复制到另一个文件中,两个文件名在 命令行中给出(假定给定的文件名无误)。#include <stdio.h>main(int argc,char *argv)FILE &f1,*f2;if(argc< ) prin tf("The comma nd line error!");exit(O);f1=fopen(argv,"r") f2=fopen(ar
52、hv2, "w") while() fputs(fgetc(f1), ); ; ;【3.56 1下面程序的功能是根据命令行参数分别实现一个正整数的累加或阶乘。例如:如果可执行文件的文件名是 sm ,则执行该程序时输入:"sm + 10",可以实现10的 累加;输入:"sm-10",可以实现求10的阶乘。#include <stdio.h> #include <stdlib.h>main (int argc,char *argv) int n ;void sum(),mult() ;void (*funcp)()
53、;n=atoi(argv2) ; if(argc!=3 | *=0) dispfonn();switch () casefuncp=sum;break ;casefuncp=multbreak ;default: dispfonn() void sum(int m)int i,s=O ;for(i=1 ; i<m ; i+) ;p rintf("sum=%dn",s) void mult(int m)long int i, s=1;for(i=1 ; i<=m ; i+) s *= i : dispfomn()printf("mult= %ldn&qu
54、ot;;s); printf ("usage:sm n什/!) (n>0)n") exit (0);3.57 1下面程序的功能是键盘上输入一个字符串,把该字符串中的小写字母转换为 大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。#inelude <stdio.h>main()char str100;int i=0 ;FILE *fp ;if(fp=fopen("test.txt", )=NULL) printf("Can't open the fileAn");exit(O);pri
55、ntf("lriput a string:n") gets(str); while(stri)if(stri>= 'a'&&stri<= N) stri=; fputc(stri,fp);i+ ;fclose(fp);fp=fopen("test.txt", ); fgets(str,strle n(stij+1 ,fp) p rintf("%sn",str) ;fclose(fp);3.58 1下面程序的功能是将从终端上读入的10个整数以二进制方式写入名为"bi.dat"
56、;的新文件中。#include <stdio.h>FILE *fp ;main()intij ;if( fp=fopen( ,"wb") = NULL )exit (0);for( i=0 ; i<10 ; i+) scanf("%d", &j);fwrite(,sizeof(int), 1,);fclose( fp);3.59 1以字符流形式读入一个文件, 从文件中检索出六种C语言的关键字,并统计、输出每种关键字在文件中出现的次数。本程序中规定:单词是一个以空格或't' > 'n'结束的字
57、符串。#include <stdio.h> #inelude <string.h>FILE *cp ;char fname20, buf100 int num ; struct keychar word10 int count : keyword= ”if", 0, "char", 0, "int", 0,"else", 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 bufi+=c ;while(c = && c!=" && c!= 't' && c!= 'n')bufi+ = c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西省法检系统书记员招聘考试模拟试题及答案详解
- 2026年桂林市叠彩区中小学教师招聘考试备考题库及答案详解
- 2026年武汉市黄陂区中小学教师招聘考试模拟试题及答案详解
- 2026年广东省湛江市中小学教师招聘考试参考试题及答案详解
- 2025年赤峰市松山区街道办人员招聘笔试试题及答案详解
- 2026年省直辖行政单位神农架林区中小学教师招聘考试参考试题及答案详解
- 定西地区岷县2027届数学六年级第一学期期末监测模拟试题含解析
- 2025年广安市广安区中小学教师招聘笔试试题及答案详解
- 2026年激光加工专用设备市场发展分析
- 2025年昆明市西山区街道办人员招聘考试试题及答案详解
- 幼儿园保安考试试题及答案
- 煤矿班组长现场安全管控培训课件
- 四川省水电投资经营集团有限公司所属电力公司2026年员工公开招聘(221人)考试备考试题及答案详解
- LYT 3464-2026《退化草原免耕补播技术规程》(纯净版)
- 上海八年级上册数学-二次根式的乘法和除法 同步练习
- 胸痹常用中医护理技术详解
- 《方法系统论》教材
- 湖南钢铁集团秋招面试题及答案
- 《再生工业盐 氯化钠(征求意见稿)》
- 20220902 葛洲坝集团路桥公司恩施至广元国家高速公路万州至开江段B合同段桥梁工程专项风险评估报(苎溪河特大桥)附专家评审意见及执行情况 B标
- (2026年)肾功能不全患者护理课件
评论
0/150
提交评论