资源描述:
《C编程案例【76-100免费】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、【程序76】题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)1.程序分析:2.程序源代码:main()#include“stdio.h“main(){floatpeven(),podd(),dcall();floatsum;intn;while(1){ scanf(“%d“,&n); if(n〉1) break;}if(n%2==0){ printf(“Even=“); sum=dcall(p
2、even,n);}else{ printf(“Odd=“); sum=dcall(podd,n);}printf(“%f“,sum);}floatpeven(intn){floats;inti;s=1;for(i=2;i〈=n;i+=2) s+=1/(float)i;return(s);}floatpodd(n)intn;{floats;inti;s=0;for(i=1;i〈=n;i+=2) s+=1/(float)i;return(s);}floatdcall(fp,n)float(*fp)();i
3、ntn;{floats;s=(*fp)(n);return(s);}==============================================================【程序77】题目:填空练习(指向指针的指针)1.程序分析: 2.程序源代码:main(){char*s[]={“man“,“woman“,“girl“,“boy“,“sister“};char**q;intk;for(k=0;k〈5;k++){ ;/*这里填写什么语句*/ printf(“%s
4、“,*q);}}==============================================================【程序78】题目:找到年龄最大的人,并输出。请找出程序中有什么问题。1.程序分析:2.程序源代码:#defineN4#include“stdio.h“staticstructman{charname[20];intage;}person[N]={“li“,18,“wang“,19,“zhang“,20,“sun“,22};main(){structman*q,
5、*p;inti,m=0;p=person;for(i=0;i〈N;i++){if(m〈p-〉age) q=p++; m=q-〉age;}printf(“%s,%d“,(*q).name,(*q).age);}==============================================================【程序79】题目:字符串排序。1.程序分析:2.程序源代码:main(){char*str1[20],*str2[20],*str3[20];charswap();print
6、f(“pleaseinputthreestrings“);scanf(“%s“,str1);scanf(“%s“,str2);scanf(“%s“,str3);if(strcmp(str1,str2)〉0)swap(str1,str2);if(strcmp(str1,str3)〉0)swap(str1,str3);if(strcmp(str2,str3)〉0)swap(str2,str3);printf(“afterbeingsorted“);printf(“%s%s%s“,str
7、1,str2,str3);}charswap(p1,p2)char*p1,*p2;{char*p[20];strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}==============================================================【程序80】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 一个
8、,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子?1.程序分析:2.程序源代码:main(){inti,m,j,k,count;for(i=4;i〈10000;i+=4){count=0;m=i;for(k=0;k〈5;k++){ j=i/4*5+1; i=j; if(j%4==0) count++; else break;} i=m; if(count==4) {printf(“%d