2022年C语言经典实例 .pdf





《2022年C语言经典实例 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言经典实例 .pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 C 语言学习经典实例名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 34 页 -2 第一章基础知识练习程序一:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数#include main()int a,b,c,;for(i=100;i=999;i+)a=i/100;b=i/10%10;c=i0%10;if(a*a*a+b*b*b+c*c*c)=i)printf(%d,i);结果:153 370 371 407 程序二:将一个正整数分解质因数。例如:输入90,打印出 90=2*3*3*5 main()int a,k=0,i;char b100;s
2、canf(%d,&a);printf(%d=,a);for(i=2;i=i);for(i=0;i2*k-1;i+)if(i%2=0)printf(%d,bi/2);else printf(*);48 48=2*2*2*2*3 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 34 页 -3 程序三:输入两个正整数m 和 n,求其最大公约数和最小公倍数。#include main()int a,b,x,y,r,t;scanf(%d,%d,&a,&b);printf(%d%dn,a,b);x=a;y=b;if(xy)t=y;y=x;x=t;do r=y%x;y=x;x=r;while(
3、r!=0);printf(%d ,y);printf(%d,a*b/y);25,30 25 30 5 150 第二章数组的简单应用程序四:判断101-200 之间有多少个素数,并输出所有素数。所谓素数:仅能被1 和它本身整除的数。#include main()int a,b,i,j,k,s=0,n=0;int c100;for(i=10;i=30;i+)k=0;for(j=2;j=i/2;j+)b=i%j;if(b=0)k=1;if(k=0)s+;cn=i;n+;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 34 页 -4 printf(%dn,s);for(i=0;in;i+
4、)printf(%d,ci);6 11 13 17 19 23 29 程序五:Fibonacci数列,第1 数为 1,第 2 数为 1,从第 3 输开始,为前两个数的和,即f1=1;f2=1;fn=fn-1+fn-2;求前 20 项个是什么,并且每行输出五个数#include main()int f1,f2,f3,i,j;f1=1;f2=1;printf(%d%d ,f1,f2);for(i=1;i=20;i+)f3=f1+f2;f1=f2;f2=f3;printf(%d,f3);for(j=1;j=20;j+)if(i=5*j-2)printf(n);1 1 2 3 5 8 13 21 34
5、 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 程序六:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时共有 5 个数相加),几个数相加有键盘控制。main()int count,i,sum,t,a;scanf(%d,&count);scanf(%d,&a);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 34 页 -5 t=a;sum=0;for(i=1;i=count;i+)sum=sum+t;t=10*t+a;printf(%3d
6、,sum);3 5 615 程序七:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=123.编程 找出 1000 以内的所有完数。main()int i,j,s,b100,n,l;for(i=1;i=1000;i+)s=0;n=0;for(j=1;ji;j+)if(i%j=0)s=s+j;bn=j;n+;if(s=i)printf(%d its factors are ,i);for(l=0;ln-1;l+)printf(%d,bl);printf(%dn,bn-1);6 its factors are 1,2,3 28 its factors are 1,2,4,7,14 4
7、96 its factors are 1,2,4,8,16,31,62,124,248 程序八:一球从100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第10 次反弹多高?#include main()int i;float t,s=0,h1,h=100;for(i=1;i=3;i+)t=3/2.0*h;s=s+t;t=t*1/2.0;h=h/2.0;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 34 页 -6 h1=h;printf(%3.2f%3.2f,s-1,h1);250.00 12.50 程序九:求的近似值,最后一项
8、绝对值小于610为止。/4约为 1-1/3+1/5-1/7+,#include main()float s=0,t=1,i=1;/t必须定义为实数/int n=1;while(fabs(t)1e-6)s=s+t;n=n+2;i=-i;t=i/n;s=s*4;printf(%10.3fn,s);3.14159 程序十:求2/1,3/2,5/3,8/5,13/8,21/13,前10 项和main()float s=0,t,a=1,b=2,c;int i;for(i=1;i=10;i+)t=b/a;printf(%f ,t);s=s+t;c=a;a=b;b=b+c;printf(%10.3f,s);
9、2.000000 1.500000 1.666667 1.600000 1.625000 1.615385 1.619048 1.617647 1.618182 1.617977 16.480 第三章特殊图形的设计程序十一:打印图形main()名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 34 页 -7 int i,j;for(i=0;i=6;i+)for(j=0;j=6;j+)if(j=(9-i)&(j=3-i)&(j=i-3)printf(*);else printf();printf(n);*程序十二:用牛顿迭代法求方程在1.5 附近的根。2x3-4 x2+3x-6=0#
10、include main()float x,x0,f,f1,t;int n=0;x0=1.5;do f=(2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;t=x0;x=x0-f/f1;n+;x0=x;printf(%1.4f%dn,x,n);while(fabs(x-t)=1e-6);2.3333 1 2.0610 2 2.0026 3 2.0000 4 2.0000 5 2.0000 6 程序十三:求2001!kk名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 34 页 -8 main()long int t=1,s,i;s=0;for(i=1;i=20
11、;i+)t=t*i;s=s+t;printf(%ldn,s);268040729 第四章字符及字符串函数程序十四:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。#include main()char c;int l,s,d,t;l=0;s=0;d=0;t=0;c=getchar();while(c!=n)if(c=a&c=A&c=0&c=9)d+;else t+;c=getchar();printf(%2d%2d%2d%2d,l,s,d,t);kljh95682k =5 3 5 5 程序十五:取一个整数a 从右端开始的47 位。程序分析:可以这样考虑:(1)先使 a右移 4
12、 位。(2)设置一个低 4 位全为 1,其余全为 0 的数。可用(04)(3)将上面二者进行&运算。程序十六:用冒泡法对数组从小到大排序。main()int a10,i,j,t;for(i=0;i10;i+)名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 34 页 -9 scanf(%d,&ai);for(i=0;i10;i+)for(j=i;j10;j+)if(ajai)t=ai;ai=aj;aj=t;for(i=0;i10;i+)printf(%d,ai);1 5 2 7 4 8 3 6 0 9 exit 0 1 2 3 4 5 6 7 8 9 程序十七:输入一行字符,统计其
13、中有多少个单词,单词之间用空格分开。#include main()char string81;int n=0,w=0,i;char c;gets(string);for(i=0;(c=stringi)!=0;i+)if(c=)w=1;else w=0;if(w=1)n+;n+;printf(%dn,n);I am a boy 4 Today is thursday 3 程序十八:将一个数组按逆序存放:#include main()int i,t;int b10=1,6,5,2,8,9,3,4,0,7;for(i=0;i10/2;i+)t=bi;bi=b10-1-i;b10-1-i=t;for(
14、i=0;ib8)c9=a;for(i=0;i9;i+)ci=bi;else for(i=0;ibi&abi+1)k=i;ck+1=a;for(j=k+2;j10;j+)cj=bj-1;for(m=0;m=k;m+)cm=bm;if(ab0)c0=a;for(i=1;i10;i+)ci=bi-1;for(i=0;ib8)c9=a;for(i=0;i9;i+)ci=bi;else for(i=0;ibi&abi+1)k=i;ck+1=a;for(j=k+2;j10;j+)cj=bj-1;for(m=0;m=k;m+)cm=bm;名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 34
15、页 -11 if(ab0)c0=a;for(i=1;i10;i+)ci=bi-1;for(i=0;ib8)c9=a;for(i=0;i9;i+)ci=bi;else for(i=0;ibi&abi+1)k=i;ck+1=a;for(j=k+2;j10;j+)cj=bj-1;for(m=0;m=k;m+)cm=bm;if(ab0)c0=a;for(i=1;i10;i+)ci=bi-1;for(i=0;i10;i+)printf(%d,ci);4 5 8 9 12 13 14 15 17 19 程序二十:打印杨辉三角(打印出10 行)1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1
16、5 10 10 5 1#include main()int i,j;char a1010;for(i=0;i10;i+)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 34 页 -12 for(j=0;jj)&(j!=0)aij=ai-1j-1+ai-1j;else aij=;for(i=0;i10;i+)for(j=0;j=j)printf(%d,aij);else printf(%c,aij);printf(n);1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1
17、1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 程序二十一:将两个字符串连接起来。#include main()int i,c1;char str20=Peoples Republic of;char str120=China,str250;c1=strlen(str);for(i=0;ic1;i+)str2i=stri;for(i=0;ic1;i+)printf(%c,str2i);printf(n);Peoples Republic of China 名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 34 页 -13 程序
18、二十二:有一行电文,已按下列规律译码:AZ az BY by CX cx 即第 1 个变成第26 个,第 i 个变成第(26-i+1)个,非字母字符不变,变成将密码以成原文。#include main()char str80,str380;char str126=ABCDEFGHIJKLMNOPQRSTUVWXYZ;char str226=abcdefghijklmnopqrstuvwxyz;int i,j,l;strcat(str1,str2);gets(str);l=strlen(str);for(i=0;i=a&stri=A&stri=Z)for(j=0;j=0&j25)str3i=st
19、r125-j;else str3i=str151-j+26;else ;/此空操作与句很重要/else str3i=stri;puts(str3);printf(n);Whats your name?My name is Bland14.Dszgh blfi mznv?Nb mznv rh Yozmw14.程序二十三:用选择法将数个数数组排序main()int a10,i;void sort(int array,int n);for(i=0;i10;i+)scanf(%d,&ai);sort(a,10);for(i=0;i10;i+)printf(%d,ai);void sort(int ar
20、ray,int n)名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 34 页 -14 int i,j,k,t;for(i=0;in-1;i+)k=i;for(j=i+1;jn;j+)if(arrayjarrayk)k=j;t=arrayi;arrayi=arrayk;arrayk=t;9 8 7 6 4 5 3 2 0 1 0 1 2 3 4 5 6 7 8 9 函数中变量的说明变量存储类型函数内函数外作用域存在性作用域存在性自动变量和寄存器变量静态局部变量静态外部变量外部变量(只限本文件)二十四:将一个33 数组行列转置void f(int a,int n)int i,j,t
21、;for(i=0;in;i+)for(j=0;j=i;j+)t=aij;aij=aji;aji=t;main()int a33,i,j;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);f(a,3);for(i=0;i3;i+)for(j=0;j3;j+)printf(%d,aij);printf(n);1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 程序二十五:写一函数,输入一行字符,将此字符串中最长的单词输出。#include 名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 34 页 -15 main()int w
22、ord=0,i,l,k,max=0,count=0;char str100;gets(str);l=strlen(str);for(i=0;imax)max=count;k=i;count=0;else count=0;if(countmax)max=count;k=l-1;for(i=k-max;ik;i+)printf(%c,stri);printf(n);I love chian and my country!country I am graduated from DaQing!graduated#include int max=0;int zcdc(char str900)int wo
23、rd=0,i,l,k,count=0;l=strlen(str);for(i=0;imax)max=count;k=i;count=0;else count=0;if(countmax)max=count;k=l-1;名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 34 页 -16 return(k);main()int i,k;char str1900;gets(str1);k=zcdc(str1);for(i=k-max;ik;i+)printf(%c,str1i);printf(n);I am graduated from Daqingshiyouxueyuan!Daqi
24、ngshiyouxueyuan I would love to go shoping next Monday!shoping 程序二十六:输入4 个学生,3 门课程的成绩:1)、求每个学生的成绩;2)、求每门课的成绩:main()int a43=1,2,3,4,5,6,7,8,9,10,11,12,i,j;float s=0,b4,s1,c3;for(i=0;i4;i+)s=0;for(j=0;j3;j+)s=s+aij;s=s/3;bi=s;for(i=0;i4;i+)printf(%f,bi);for(j=0;j3;j+)s1=0;for(i=0;i4;i+)s1=s1+aij;s1=s1
25、/4;cj=s1;for(j=0;j3;j+)printf(%f,cj);注意本程序解题思想:对数组行列求和2.000000 5.000000 8.000000 11.000000 5.5000006.5000007.500000 体会如下各程序:指针的作用main()int a34=1,3,5,7,9,11,13,15,17,19,21,23;int*p;名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 34 页 -17 for(p=a0;pa0+12;p+)if(p-a0)%4=0)printf(n);printf(%3d,*p);1 3 5 7 9 11 13 15 17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言经典实例 2022 语言 经典 实例

限制150内