资源描述:
《2.7程序设计举例课件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2.7程序设计举例【例1】输入一个带符号的整型数,输出该数的位数。main(){intx,m;scanf("%d",&x);if(x<0)x=-x;/*将输入的整型数取绝对值*/if(x<10)m=1;/*若x<10,则x是1位数*/elseif(x<100)m=2;/*若10≤x<100,则x是2位数*/elseif(x<1000)m=3;/*若100≤x<1000,则x是3位数*/elseif(x<10000)m=4;/*若1000≤x<10000,则x是4位数*/elsem=5;/*若x≥10000,则x
2、是5位数,整型数最多是5位*/printf("%dis%dbitnumber",x,m);}〖运行结果〗23↙23is2bitnumber要求:用循环语句改写上述程序main(){longx;intm=0;scanf("%ld",&x);while(x!=0){m++;/*对当前x的个位计1*/x/=10;}printf("%dbitnumber",m);}〖运行结果〗1234567↙7bitnumber【例2】用下列公式计算π的值。main(){intn=1,t=1;/*t保存累加项的符号,初始是第一项的
3、符号*/floatpi=0;pi=pi*4;printf("pi=%.2f",pi);/*输出π的近似值*/}〖运行结果〗:pi=3.14while(1.0/n>=1e-4){pi+=t*1.0/n;t=-t;n+=2;}【例3】输出Fibonacci数列的前40项,Fibonacci数列为:main(){inti;longf1=1,f2=1;for(i=1;i<=20;i++){printf("%10ld%10ld",f1,f2);if(i%2==0)printf("");/*保证每行输出4项*/f1
4、=f1+f2;f2=f2+f1;/*得到后两项*/}}〖运行结果〗:1123581321345589144233377610987159725844181676510946177112865746368750251213931964183178115142298320401346269217830935245785702887922746514930352241578173908816963245986102334155【例4】输出3~100之间的素数。main(){intm,i,n=0,k;/*m保存当前整数
5、*/}for(m=3;m<=100;m++){if(n%8==0)printf("");k=m-1;for(i=2;i<=k;i++)if(m%i==0)break;/*如果2~m-1之间有整除m的数,则退出循环*/if(i>=m){printf("%4d",m);n++;}/*如果是素数,输出*/}〖运行结果〗:357111317192329313741434753596167717379838997【例5】从1~12之间任取3个互不相同的整型数,输出其和能被6整除的数的个数。main(){inti,j,
6、k,n=0;printf("n=%d",n);}〖运行结果〗:n=38for(i=1;i<=12;i++)for(j=i+1;j<=12;j++)for(k=j+1;k<=12;k++)if((i+j+k)%6==0)n++;【例6】输入一行以回车结束的字符,分别统计出其中英文字母、数字和其他字符的个数。#include"stdio.h"main(){intn1=0,n2=0,n3=0;charch;printf("n1=%d,n2=%d,n3=%d",n1,n2,n3);}while((ch=getc
7、har())!=’’)if((ch>=’a’&&ch<=’z’)
8、
9、(ch>=’A’&&ch<=’Z’))n1++;elseif(ch>=’0’&&ch<=’9’)n2++;elsen3++;〖运行结果〗:as23SDF08*&^%HGA□L↙n1=9,n2=4,n3=5【例7】用指针变量按从小到大的顺序把从键盘输入的任意三个整型数输出。设将输入数据保存到变量a,b,c中,要求操作后a、b、c中的数据仍然保持不变,但pa指向最小值,pb指向中间值,pc指向最大值。435abcpapbpc435abcpapb
10、pc操作前操作后〖运行结果〗435↙345填空,且每空只添一条语句(表达式)main(){inta,b,c,*pa=&a,*pb=&b,*pc=&c,*p;scanf("%d%d%d",____________);/*比较pa和pb指向的数,使pa指向小数,pb指向大数*/if(__________)_________________/*比较pa和pc指向的数,使pa指向小数,pc指向