1、C语言简单的23 个例子例1.1:输入两个数,输出其中的最大者 方法一: #include stdio.h int main() int a,b,max; scanf(%d %d,&a,&b); if (ab) max=a; else max=b; printf(%dn,max); return 0; 方法二: #includestdio.h int main() int m,n; scanf(%d %d,&m,&n); printf(%dn,(mn)?m:n); return 0; 例1.2:输入三个数,输出其最大者 #include stdio.h int main() int a,b,c
2、; scanf(%d %d %d,&a,&b,&c); printf(%dn,ab?(ac?a:c):(bc?b:c); return 0; 例2:求一个数的绝对值 方法一: #include stdio.h int main() int a,absa; printf(enter one number:n); scanf(%d,&a); if (a0) absa=-a; else absa=a; printf(|%d|=%dn,a,absa); return 0; 方法二: #includestdio.h #includemath.h int main() int a; scanf(%d,&a
3、); printf(%dn,abs(a); return 0; 例3:两个数的四则运算 #include stdio.h int main() double x,y; char op; 牰湩晴尨输入运算式:n); scanf(%lf%c%lf,&x,&op,&y); switch (op) case +:printf(%.2f%c%.2f=%.2fn,x,op,y,x+y); break; case -:printf(%.2f%c%.2f=%.2fn,x,op,y,x-y); break; case *:printf(%.2f%c%.2f=%.2fn,x,op,y,x*y); break; c
4、ase /: if (y=0) printf(error!n); else printf(%.2f%c%.2f=%.2fn,x,op,y,x/y); break; default :printf(expression is error!n); return 0; 不纳入计算-1结束输入,且-1个数的平均数,以N:求4例#include stdio.h int main() int n=0; double a,sum=0; while(1) scanf(%lf,&a); if(a=-1) break; sum+=a; n+; printf(%.2fn,sum/n); return 0; 例5:打
5、印出九九乘法口诀 #include stdio.h int main() int i,j; for (i=1;i10;i+) for(j=i;j=A&ch=a&ch=z) printf(%cn,ch-32); return 0; 例7:打印菱形图案 #include stdio.h int main() int i,j,k; for (i=0;i10;i+) for (j=0;j=9-i;j+) printf( ); for (k=0;k=2*i;k+) printf(%c,3); printf(); for (i=0;i=9;i+) for (j=0;j=i+1;j+) printf( );
6、 for (k=0;k=16-2*i;k+) printf(%c,3); printf(); return 0; 例8:求100以内所有的素数 #include stdio.h #include math.h main() int m,i,k,t=0,j=1,n=0; printf(=:,j); for (m=2;m=300;m=m+1) k=(int)sqrt(m); for (i=2;i=k+1) printf(,m); t+; if(t%4=0) printf(=:,+j); printf(); return 0; 例9:输出Fibonacci数列的前20项及其和 (Fibonacci数
7、列:1,1,2,3,5,8,13,21) #include stdio.h int main() int i,sum=0,f20=1,1; for (i=2;i20;i=i+1) fi=fi-1+fi-2; for (i=0;i20;i=i+1) printf(m,fi); sum=sum+fi; if (i+1)%4=0) printf(); printf(sum=%dn,sum); return 0; 例10:输出各位数均不相同的三位数,及其个数 #include stdio.h int main() int n,i,j,k; n=0; for (i=1;i=9;i+) for (k=1;
8、k=9;k+) if (k!=i) for (j=0;j=9;j+) if(j!=i&j!=k) n+; printf(%d ,100*i+10*j+k); if (n_x0010_=0) printf(); printf(); 牰湩晴尨共%d个数n,n); return 0; 例11:输入一个数,求其阶乘 #include stdio.h int main() int i,s,n; printf(=); scanf(%d,&n); i=1; s=2; while (i=n) s=s*i; i=i+1; printf(%d!=%dn,n,s); return 0; 例12:将一个数分解质因数#
9、includestdio.h int main() int i,n; printf(please input numbers:n); for(;) scanf(%d,&n); printf(%d=,n); for(i=2;i=n;i+) while(n!=1) if(n%i=0) printf(%d*,i); n=n/i; else break; if(n=1) printf( n); else printf(%dn,n); return 0; 例13:汉诺塔游戏 #include void move(char a,char b) static int i=0; printf(%c-%c %d
10、n,a,b,+i); void hanoi(int m,char a,char b,char c) if(m=1) move(a,c); else hanoi(m-1,a,c,b); move(a,c); hanoi(m-1,b,a,c); int main() int m; 牰湩晴尨请输入方块数:); scanf(%d,&m); hanoi(m,A,B,C); return 0; 14例:求一句话中单词的个数#include int main() char s100,c; int i,temp=0,num=0; gets(s); for(i=0;(c=si)!=0;i+) if (c= )
11、temp=0; else if (temp=0) num=num+1; temp=1; printf(%dn,num); return 0; 例15:水仙花数(三位数,各位数字的三次方之和等于该数) 方法一: #include stdio.h int main() int i,j,z,n; for (n=100;n1000;n+) i=n/100; j=n/10-10*i; z=n_x0010_; if(n=i*i*i+j*j*j+z*z*z) printf(,n); printf(); return 0; 方法二: #includestdio.h int main() int i,j,k;
12、for(i=1;i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+) if(i*i*i+j*j*j+k*k*k=100*i+10*j+k) printf(M,100*i+10*j+k); printf(); return 0; 例16:字符串b在字符串a中出现的次数,b中可以用“?”代替未知字母 #include #define N 1000 int main() int i,j,m,n,k,x=0; char aN,bN; gets(a); gets(b); for(i=0;ai!=0;i+); for(j=0;bj!=0;j+); m=i-; n=j-; for(
13、i=0;i=m-n+1;i+) k=0; for(j=0;jn;j+) if(bj=?) k=1;continue; else if(ai+j=bj) k=1; else k=0; if (k) x+; printf(%dn,x); return 0; 例:冒泡排序17#include stdio.h #define N 10 int main() int i,j,t,max,aN=1,1,2,3,15,28,133,21,34,777; int x; 牰湩晴尨初始数组元素为:); for (i=0;iN;i+) printf(%d ,ai); printf(); for (i=0;iN-1;
14、i+) for (j=0;jaj+1) t=aj;aj=aj+1;aj+1=t; 牰湩晴尨从小到大排序后的数组为:); for (i=0;iN;i+); printf(=,ai); return 0; :选择排序18例#include stdio.h #define N 10 int main() int i,t,j,max,aN=1,1,2,3,15,28,133,21,34,777; int x; 牰湩晴尨初始数组元素为:); for (i=0;iN;i+) printf(%d ,ai); printf(); for (i=0;iN-1;i+) t=i; for (j=i+1;iN;j+)
15、 if (ajat) t=j; if (t!=i) x=at;at=ai;ai=x; 牰湩晴尨从小到大排序的数组为:); for (i=0;iN;i+) printf (%d,ai); printf(); return 0; :数组元素的插入19例#include stdio.h #define N 10 int main() int i,j,aN=1,1,2,3,15,28,133,21,34; int x; 牰湩晴尨初始数组元素为:); for (i=0;ii;j-) aj=aj-1; ai=x; 牰湩晴尨插入元素之后的数组为:); for (i=0;iN;i+) printf(M,ai)
16、; printf(); return 0; 例20:数组元素的删除 #include stdio.h #define N 10 int main() int i,j,aN=1,1,2,3,15,28,133,21,34,88; int x; 牰湩晴尨初始数组元素为:); for (i=0;iN;i+) printf(%d ,ai); printf(); 牰湩晴尨请输入要删除的下标位置(0-%d),N-1); scanf(%d,&i); for (j=i+1;jN;j+) aj-1=aj; 牰湩晴尨删除后的数组为:); for (i=0;iN;i+) printf(M,ai); printf()
17、; return 0; :数组中的最大值例21#include stdio.h #define N 10 int main() int i,max,aN=1,1,2,3,15,28,133,21,34,777; int x; 牰湩晴尨初始数组元素为:); for (i=0;iN;i+) printf(%d ,ai); printf(); max=a0; for (i=1;i=max) max=ai; 牰湩晴尨数组的最大值是%dn,max); return 0; 例22:数组中最大值的下标 #include stdio.h #define N 10 int main() int i,max,aN
18、=1,1,2,3,15,28,133,21,34,777; int x; 牰湩晴尨初始数组元素为:); for (i=0;iN;i+) printf(%d ,ai); printf(); max=0; for (i=1;i=amax) max=i; 牰湩晴尨数组的最大值的下标是%dn,max); return 0; :查找数组中特定的元素例23#include stdio.h #define N 10 int main() int i,j,t,aN=1,1,2,3,15,28,133,21,34,88; int x; 牰湩晴尨初始数组元素为:); for (i=0;iN;i+) printf(%d ,ai); printf(); 牰湩晴尨请输入要查找的元素:); scanf(%d,&x); t=-1; for (i=0;iN;i+) if (ai=x) t=i; 晩?瀠楲瑮?数组中没有该数!n); 汥敳瀠楲瑮?该数位于数组的第%d个下标n,t); return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1