版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计例子题目:输入3个数abc,按大小顺序输出。程序分析:利用指针方法。程序源代码:/pointer*/#includestdio-h11#includeconio.h”main()iiitnl,ii2,n3;mt*pomter1、*poiiiter2,*pomter3;pnntf(Mpleasemput3numbei:nhn2,n3:H);scanfC%d%d、cT,&iih&i2&n3);pomterl=&nl;pomter2=&n2;pomter3=&n3;if(nln2)swap(pomterLpointer2);if(nln3)swap(pomterLpointer3);i
2、f(n2n3)swap(pomter2,pointer3);pnntf(Mthesortednumbersare:%d,%d,%dirnl,ii2,n3);getch();swap(pl.p2)iiit*pl,*p2;imp;p=*pl;*pl=*p2;*p2=p;题目:编写input()和output()函数输入,输出5个学生的数据记录。程序分析:程序源代码:#includestdio-h11#includeconio.h”defineN5stmctstudentcharnum6;charname8;mtscore4;stuN;mput(stu)stmctstudentstu;intij;f
3、or(i=O;iN;i-H-)pnntf(Mnpleaseinput%dof%dn”,i+l,N);pnntf(Mnum:”);scanf(H%sH,stui.num);pnntf(Mname:);scanf(H%sH,);for(j=O;j3j+)printf(Mscore%d”j+l);scanf(,%d,&stui.scorej);prmtf(”n”);print(stu)stmctstudentstu;intij;pnntf(MnNo.NameScolSco2Sco3iT);fbr(i=O;iN;i-H-)printf(M%-6s%-10s,stui.num,stui
4、.naine);for(j=O;j3j+)pnntf(,%-8d,snii.scoielj);pmitfCE);main()mputQ;pnnt();getch();题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。2程序源代码:#includestdio.hH#includeHcomo.hnvoidmain()charletter;printHpleasemputthefirstletterofsomedayvMin);wlule(letter=getch()!
5、=Y)/*当所按字母为Y时才结束*/switch(letter)case,S,:piiiitf(npleasemputsecondlettefui*);if(letter=getch()=,a,)printf(Msatuidayiin);elseif(lettei-getch()=lu,)piiiiWsundayn”);elseprmtf(,dataenoriiM);break;caseTprmtf(nfiidayiiM);break;caseTvr:pnntf(HmoiidayiiH);bieak;caseT,:priiitf(npleasemputsecondletternH);if(le
6、tter=getch()=u,)printf(MtuesdayiiH);elseif(lette尸g亡tch()=lT)printf(MthursdayuH);elseprmtf(,dataenoriiM);break;caseWlpdntfpw亡dnesdayn”);bieak;default:enornH);getch();题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?程序分析:利用递归的方法,递归分为回推和递推两个阶段。要
7、想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。程序源代码:#iiicludestdio.h#includeHcomo.hnage(n)iiitn;iiitc;if(n=l)c=10;elsec=age(n-l)+2;retuin(c);main()printf(,%d,age(5);getch();题目:利用递归方法求5!。程序分析:递归公式:程序源代码:#includeHstdio.hH#includeconio.h”main()inti;mtfactQ;fbr(i=O;i5;i+)printf(,MO:%d!=%dnM,i,fact(i);getch()
8、;mtfact(j)mtj;mtsum;】f(J=O)sum=l;elsesum=j*fact(j-l);returnsum;题目:求1+2!+3!+20!的和程序分析:此程序只是把累加变成了累乘。程序源代码:#includeHstdio.hH#includeHcomo.hnmain()floatn,s=O.t=l;foi(n=1;n=20;n+)t*=n;s+=t;pniitf(T+2!+3!+20!=%en”,s);getch();题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13求出这个数列的前20项之和。程序分析:请抓住分子与分母的变化规律。程序源代码:#iiic
9、ludeHstdio.hM#includeHcomo.hnmain()mtn,tjiumbei-20;floata=2,b=l,s=0;fbi(n=1;n=numbei;n+)s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/pnntf(Msumis%96fn”,s);getch();题目:打印出如卞图案(菱形)*程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。程序源代码:includestdio.hincludeconio.hmain()intij.k;fbi(i=0;i=3;i+)f
10、br(j=0J=2-ij+)pnntf(MM);fbr(k=O;k=2*i;k+)pnntf(Mnn);fbi(i=0;i=2;i+)for(j=O;j=iJ+)pnntf(MM);fbr(k=0;k=4-2*i;k+)pnntf(M*H);pnntf(Mnn);getch();题目:两个乒乓球队进行比赛,各出三人。甲队为abc三人,乙队为xyz三人。己抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。程序分析:程序源代码:includeHstdio.hM#include”conio.hmain()charij切i是a的对手,j是b的对
11、手,k是c的对手引血(1=玄;心7;卄)fbr(j=,x:j=Nj+)if(i!=j)foi(k=,x,;k0)xl=(x2+l)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=xl;day-;pnntf(Mthetotalis%dn,xl);getch();题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?程序分析:见下面注释程序源代码:#iiicludeHstdio.hM#iiicludeHstdio.hMmain()floatsn=100.0,lin=siV2;iiitn;fbr(n=2;n=a&cv
12、=N|c=A&c=O&c=9)digit+;elseotheis+;printf(Mallina止char=%dspace=%ddigit=%dothers=%dn,r,letters,space,digit,others);getch();题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。程序分析:程序源代码:#iiicludeHstdio.hM#includeHconio.hnmain()staticintk10;mtij,s;foi(j=2;j1000;j+)n=-l;S=J;fbi(i=l;ij;i+)n-H-;s=si;k
13、n=i;if(s=O)printf(M%clisawanshu*j);fbi(i=O;in;i+)pmitf(”d,”,ki);printf(M%dii,kn);getch();题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:利用辗除法。程序源代码:includestdio.hincludeconio.hmain()mta,b.numl,nuin2,temp;pnntffpleasemputtwonumbers:);scaiif(,%d,%d.&numl.&num2);if(num1nuiii2)/*交换两个数,使人数放在num1上*/temp=numl;num1=nuin2
14、;nuin2=temp;a=numl;b=nuni2;wlule(b!=0)/*利用辗除法,直到b为0为止*/temp=a%b;a=b;b=temp;printf(,gongyiieshu:%dn,a);printf(,gongbeishu:%d,ji,numl*nuni2/a);getch();我的代码(用到了函数的调用,个人认为这样更加清晰):#includestdio.1T#includeHcomo.hn/*vs用于求最人公约数的函数勺mtys(iiitn.iiitm)mti?templ=0;fbi(i=l;im;i-H-)if(n%i=0&m%i=0)templ=i;retuin(te
15、mpl);/*vs用于求最小公倍数的函数*/mtbs(iiitn.iiitm)inti,temp2=0;foi(i=n;im*/temp=n;n=m;m=temp;/*调用前面的两个函数*/temp=ys(nan);printf(M%diitemp);temp=bs(n.m);printf(M%d,temp);getch();题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5o程序分析:对n进行分解质因数,应先找到一个最小的质数匕然后按下述步骤完成:如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。如果nk,但n能被k整除,则应打印出k的值,并用n除以k的
16、商,作为新的正整数你重复执行第一步。如果n不能被k整除,则用k+1作为k的值,重复执行第一步。程序源代码:/*zhengiiitisdividedyiiishu*/#iiicludeHstdio.hM#includeHconio.h,rmain()iiitnj;printf(Mnpleasemputanumber:nM);scanf(H%d,&n);pnntf(M%d=,n);fdi(i=2;i=n;i+)wliile(n!=i)if(n%i=0)n=ivi;elsebreak;pnntf(,%d,n);getch();我的代码(脑袋里全乱了,本来思路已经想好了,结果码出这么一段自己都看不懂的
17、东东,还无法和执行,推到重来吧!唉):哈哈,总算弄出来了,思路是没错:#includestdio-h#include”conio.h#include”math.hmain()inti小k=0;iiitx,y,n5temp;intys10=0;scanfC%d”,&n);pnntf(M%d=,n);fdi(i=2;i=n;i+)for(j=2;jij+)if(i%j=O)temp=O:break;elsetemp=l;if(i=2)temp=l;if(temp=l)if(n%i=0)ysk+=i;ii=n/i;i=2;fdr(k=0;k10;k+)pmitfC%cT;ysk);if(ysk+l!
18、=0)elsebreak;getchQ;题目:打印出所有的“水仙花数S所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数S因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。程序源代码:#includestdio-h#includeHcomo.hnmain()intprmtf(nvraterflowernumberis:n);fbi(n=100;n1000;n+)i=n/100y*分解出百位*/j=ii/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100
19、+j*10+k=i*i*i+j*j*j+k*k*k)getch();我的代码:#includestdio.irincludenconio.hMinclude”math.hmain()intijksum;fbi(i=i;i10;i-H-)foi(j=0;j10:j+)foi(k=0;k10;k+)sum=i*100+j*10+k;if(sum=pow(i,3)+pow(j、3)+pow(k,3)pnntf(H%dnH,sum);elsebreak;getchQ;题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2至Ijsqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。程序源代码:#include”stdio.h#include”conio.h#include”math.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 35711-2017高压直流输电系统直流侧谐波分析、抑制与测量导则》
- 深度解析(2026)《GBT 35586-2017云制造 服务分类》
- 深度解析(2026)《GBT 35407-2017基于ebXML的补货建议》
- 《DLT 910-2004灰渣脱水仓》(2026年)合规红线与避坑实操手册
- 解剖试题题库及答案
- 编辑部下半年工作计划
- 摄影后期修图试卷及分析
- 学校办公室卫生要求细则
- 算力基础设施模块化建设实施方案
- 市政给排水管道题目及分析
- 必修上文言文挖空(答案)
- 临床结肠脾曲综合征疾病要点
- 2026华能笔试题库
- 化工废气治理课件
- 2025年7月陕西省普通高中学业水平合格性考试语文试题及答案
- 高压电工证1500题模拟考试练习题-图文
- 商业租赁知识培训
- 修眉毛课件教学课件
- 实施指南(2025)《JB-T2599-2012铅酸蓄电池名称、型号编制与命名办法》
- 小学生脊柱健康知识讲座
- 2026年新高考数学专题复习 103.马尔科夫链讲义
评论
0/150
提交评论