C语言必背18个经典程序_第1页
C语言必背18个经典程序_第2页
C语言必背18个经典程序_第3页
C语言必背18个经典程序_第4页
C语言必背18个经典程序_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言必背18个经典程序1、/*输出9*9 口诀。共9行9列,i控制行,j控制列。*/#include Hstdio.hHmain()int ij result;fdr(i=l;i10;i+) for(j=ljresult);/*-3d 表示左对齐,占 3 位*7每一行后换行 */2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三 个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21.*/main()long fl.fZ;inti;fl =2=1;fbr(i=l;i=20;i+) printf(,

2、%121d %121dH,fhf2);if(i%2=0) pnntf(HnM)y*控制输出,每行四个*/fl=fl+f2; /*前两个月加起来赋值给第三个月*/2=fl+f2; /*前两个月加起来赋值给第三个月*/3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。*/#include ”math.hmain()mt m,i,k.h=0Jeap=l;pnntfC,nM);foi(m= 101 ;m=200;m+) k=sqit(m+l);fbr(i=2;i=k;i

3、-H-)leap=O;break;if(leap) /*内循环结束后,leap依然为1,则m是素数*7pnntf(n%-4d,m);h+;if(h%10=0)pnntf(MnM);leap=l;pnntf(MnThe total is %d*h);4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=14-2 + 3編程找出1000以内的所有完数。*/main()static int k10;mt i,j,s;fbr(j=2j1000j+)n=-l;s=J;for(i=l;ij;i+)if(j%i)=O) n+;s=si;kn=i;if(s=0)piintff %d is a

4、waiishu: M,j);pnntf(M%dii,kn);5、/*卞面程序的功能是将一个4X4的数组进行逆时针旋转90度后输出,要求原始数组的 数据随机输入,新数组以4行4列的方式输出,请在空白处完善程序。*/main() int a44,b44,i,j;/*a存放原始数组数据,b存放旋转后数组数据*/16 numbers:/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/fbr(i=0;i4;i-H-)fbr(j=0j4j+)scanf(%d,&ai|j);b3-ji=aij;prmtf(nanay b:ir);fbr(i=0;i4;i+) for(j=0;j4j+)printf(

5、”6d”,bij);piintfpiT);6、/*编程打印直角杨辉三角形*/main()mt ij,a66;fbr(i=0;i=5;i+)aii=l;aiO=l;fbr(i=2;i=5;i+)aij=ai-lj+ai-lU-l;fbr(i=0;i=5;i+)for(j=Oj=ij-H-)pnntf(” 4d,aij);prmtf(HnH);7、/*通过键盘输入3名学生4门课程的成绩,分别求每个学生的平均成绩和每门课程的平均成绩。要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车 其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均 分。3V

6、#include #include main() float a45.suml,suni2;intij;for(i=0;i3;i-H-)foi(j=0;j4j+)scanff%f;&aij); suml=0;foi(j=0;j4j+)suml-r=aij;ai4=suml/4;for(j=O;j5j+) suni2=0;fbr(i=O;i3;i+)suni2+=aiIj;a3j=suni2/3;fbr(i=0;i4;i+)for(j=0;j5j+)pnntfC%6.2f,ai|j);8、/*完善程序,实现将输入的字符串反序输出, 如输入 windows 输出 swodmwo */#includ

7、e main() char c200,cl;int i,j,k;printf(Enter a string:);scanf(%s 舄 c);k=strlen(c);for (i=0 j=k-l ;ik/2;i+j-) cl=ci;ci=cj;cj=cl;pnntfC%siT,c);指针法:void invert(char *s)mt ij,k;chai t;k=strlen(s);fbr(i=O j=k-l ;ik/2;i+J-)t=*(s+i);*(s+i)=*(s+j);*(s+j)=t; main() FILE *fp;char str200,*p,ij;if(fp=fbpen(np9_

8、2.out,vH)=NULL) printf(ncaniiot open the fileiiH);exit(O);prmtf(Hmput str:nn);gets(str);pnntf(“n%sjstr);如 nntf(4V%snstr);mveit(sti);pnntf(“n%s 冷 str);fjmntf(4Vn%sJstr);fclose(fp);9、/*卞面程序的功能是从字符数组s中删除存放在c中的字符。*/include main() char s80,c;mt j,k;pimtfCiiEnter a string:gets(s);printf(nEnter a chaiacter

9、:);c=getchar();for(j=k=0;s|j!=忙+)if(sj!=c)sk+=sj;sk= 0:pnntf(”n%s”,s);10、/*编写一个void soi1(int *x,iiit n)实现将x数组中的n个数据从犬到小排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_l.out中引#iiicludevoid sort(int *x.mt n)intfor(i=0;in-l;i-H-)k=i;for(j=i+lJxk) k=j;if(k!=i)t=xi;xi=xk;xk=t;void main()FILE *fp;mt *p,i,al0;fp=fopen(

10、Mp9_l .out,7,wH);p=a;printf(MIiiput 10 numbers:M);fbr(i=0;i10;i+)scanfC%cT+);p=a;sort(pJO); fbi(;px) ai+l=ai; i-;/*将比x大的数往后移动一个位置*/a+i=x;J+;/*插入X后元素总个数增加*/fbr(i=l;ij ;i+) prmtf(M%8drai);pnntffXir);12、/*编写函数replace(chai *s,char cl,char c2)实现将s所指向的字符串中所有字符cl 用c2替换,字符串、字符cl和c2均在主函数中输入,将原始字符串和替换后的字符串显 示

11、在屏幕上,并输出到文件pl0_2.out中*/#iiicludeieplace(chai *s,char cl,chai c2)wlule(*s!=,0,) if (*s=cl)*s=c2;s+;main() FILE *fp;char str100,a,b;if(fl)=fbp3Cp 10_2 out”,”w J)=NULL) priiitf(Hcamiot open tlie fileViT); exit(O);priiitf(nEnter a stiiiig:nn);gets(sti);pnntf(MEnter a&b:nM);scanf(M%c,%cH,&a,&b);fprmtfp/s

12、Virsti);replace(str.a.b);pnntHThe new stiing is一一%sn*str);fpiiiitffp/The new stiing is%sn,str);fclose(fp);13、/*在一个字串si中查找一子串s2,若存在则返回子串在主串中的起始位置,不存在则返回1。*/main()char si=”thisis”;char s25=”is”;pnntf(M%dii,search(sl,s2);system(HpauseM);mt search(char sl,char s2)int i=0 j Jen=strlen(s2);wliile(sli)for(

13、j=0;j=len)retuni i;else i+;return -1;14、/*用指针变量输出结构体数组元素。*/struct studentiiit num;chai *name;chai sex;int age;stu5=1001,lihua”,F,18,1002, ”liuxing;M;19,1003rhuangke;F9,1004, ”fbngshoiF, 19 , 100518 ;main()mt i;struct student *ps;prmtf(nNumtNametttSextAgetnn);/*用指针变量输出结构体数组元素。*/fbr(ps=stu ;ps iium.ps

14、-naiiie,ps-sex.ps-age);/*用数组下标法输出结构体数组元素学号和年龄。*/fbr(i=0;inum,p-name,p-age);p=p-next; wliile(p! =NULL);16、/*输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读 完全相同的字符串。*/#include #include #mclude main() char s100;int ij ji;pmitf(”输入字符串:n”); gets(s);n=stilen(s);for(i=Oj=n-l ;i=j) pnntf(”是回文串n”); else不是回文串nj;17、严冒泡排序

15、,从小到人,排序后结果输出到屏幕及文件myf2.out*/#includevoid fun(mt a.iiit n)int ij,t;fbi(i=O;i=n-l ;i+)foi-(j=o;jaj+l) t=aj;aj=a|j+l;aj4-l=t;main()int a10= 12,45,7,8,96,4,10,48,2,46,n=10,i;FILE *f;if(fMdpm(”myf2ouLwJ)=NULL)piiiitf(nopen file myf2.out failedfiin(aJO);fbi(i=0;i10;i+)prmtf(n%4d,ai);fclose(f);18、编写函数countpi,利用公式龙12123123423353573579计算兀的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示 在屏幕上并输出到文件p7_3.out中。#includedouble countpi(double eps)/*eps 为允许误差*7iiit m=l;double temp=1.0,s

温馨提示

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

评论

0/150

提交评论