c语言平时练习小例子.doc_第1页
c语言平时练习小例子.doc_第2页
c语言平时练习小例子.doc_第3页
c语言平时练习小例子.doc_第4页
c语言平时练习小例子.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

给一个不多于4位的正整数,求出它是几位数,逆序打印出各位数字#includevoid main()int x,a,b,c,d;scanf(%d,&x);a=x/1000;b=x%1000/100;c=x%100/10;d=x%10;if(a!=0)printf(4:%d%d%d%dn,d,c,b,a);else if(b!=0)printf(3:%d%d%dn,d,c,b);else if(c!=0)printf(2:%d%dn,d,c);else if(d!=0)printf(1:%dn,d);从10至20之间的素数,自动输出(我的)#include#includevoid main()int x,k;for(x=10;x=10&x=20;x+)for(k=2;ksqrt(x)printf( %d ,x);0-9这十个数字组成多少个无重复的三位数#includevoid main()int x,a,b,c,num=0;for(x=100;x=999;x+)a=x/100;b=x/10%10;c=x%10;if(a!=b&a!=c&b!=c)num+;printf(%5d,x);printf(n number= %d,num);求300内能被17整除的最大数#includevoid main()int x;for(x=300;x=1;x-)if(x%17=0) break;printf(x=%dn,x);斐波那契数列#includevoid main()long f1=1,f2=1,f3;int k;printf(%1dt%1dt,f1,f2);for(k=3;k=30;k+)f3=f1+f2;printf(%dt,f3);f1=f2;f2=f3;求300以内能被17整除的所有整数,用continue#includevoid main()int x;for (x=1;x=300;x+)if(x%17!=0) continue;printf(%dt,x);输出三角形星花#include void main()int k1,k2;for(k1=1;k1=4;k1+)putchar(t);for(k2=1;k2=k1;k2+)putchar(b);for(k2=1;k2=k1*2-1;k2+)putchar(*);putchar(n);求s=2/1-3/2+5/3-8/5求前十项的和#includevoid main()float s=0,f1=2,f2=1,f=1,t,n;for(n=1;n=10;n+)s=s+f*f1/f2;f=f*(-1);t=f2;f2=f1;f1=f1+t;printf(s=%fn,s);逆序输出任意整数#include void main()long x,y;scanf(%d,&y);while(y!=0)x=y%10;printf(%d,x);y=y/10;函数求和#includevoid main()float add(float,float);float a,b,c;scanf(%f,%f,&a,&b);c=add(a,b);printf(sum is %f,c);float add(float x,float y)float z;z=x+y;return(z);输入年月日输出该天在该年的天数#includeint leap(int year)int lp;lp=(year%4=0&year%100!=0|year%400=0)?1:0;return lp;int month_day(int year,int month)int d;switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:d=31;break;case 2:d=leap(year)?29:28;break;default:d=30;return d;int days(int year,int month,int day)int i,ds=0;for(i=1;imonth;i+)ds=ds+month_day(year,i);ds=ds+day;return ds;void main()int year,month,day,t_day;scanf(%d_%d_%d,&year,&month,&day);t_day=days(year,month,day);printf(%d_%d_%d is %dn,year,month,day,t_day);计算x的n次方#includevoid main()float power(float x,int n);float x,y;int n;scanf(%f,%d,&x,&n);y=power(x,n);printf(%f,y);float power(float x,int n)int i;float t=1;for(i=1;i=n;i+)t=t*x;return t;求和#includevoid main()float add(float,float);float a,b,c;scanf(%f,%f,&a,&b);c=add(a,b);printf(sum is %f,c);float add(float x,float y)float z;z=x+y;return(z);交换两个数1(这个不能交换)#includevoid swap(int a,int b);void main()int x=7,y=11;printf(x=%d,ty=%dn,x,y);printf(swapped:n);swap(x,y);printf(x=%d,ty=%dn,x,y);void swap(int a,int b)int temp;temp=a;a=b;b=temp;交换两个数2(能换过来)#includevoid swap(int *p1,int *p2)int p;p=*p1;*p1=*p2;*p2=p;void main()int a,b;scanf(%d,%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(swapped:n);swap(&a,&b);printf(a=%d,b=%dn,a,b);递归算法计算n!#include long fac(unsigned n)long f;if(n=0)f=1;else f=n*fac(n-1);return f;void main()long y;int n;scanf(%d,&n);y=fac(n);printf(%d!=%ldn,n,y);例5-1 输入10个数,正序逆序输出,用数组#includevoid main()int i;int a10;printf(input 10 numbersn);for(i=0;i10;i+)scanf(%d,&ai);printf(n);for(i=0;i=0;i-)printf(%d ,ai);利用数组,求斐波拉契数列的前10项#includevoid main()int i;static int a10=1,1;for(i=2;i10;i+)ai=ai-1+ai-2;for(i=1;i10;i+)printf(%d ,ai);求若干数(不多于10个)的最大数,最小数#define N 10#includevoid main()int i,n;float aN,max,min;printf(input data numbers);scanf(%d,&n);printf(enter numbers:);for(i=0;in;i+)scanf(%f,&ai);max=min=a0;for(i=1;imax) max=ai;if(aimin) min=ai;printf(nmax=%f,min=%fn,max,min);输入10个数,求它们的和#includevoid main()int a10;int i,sum=0;for(i=0;i=9;i+)printf(enter number %d:,i+1);scanf(%d,&ai);sum+=ai;printf(the totle is :%dn,sum);冒泡排序法#includevoid main()int a6;int i,j,t;printf(input 6 numbers:n);for(i=0;i6;i+)scanf(%d,&ai);printf(n);for(j=1;j6;j+)for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;printf(the sored numbers:n);for(i=0;i6;i+)printf(%d ,ai);printf(n);判断是否为回文数#includevoid main()long x;int i,j,n,d20;scanf(%ld,&x);n=0;dodn=x%10;x=x/10;n+;while(x!=0);for(i=0,j=n-1;ij;i+,j-)if(di!=dj) break;if(ij) printf(not);else printf(yes);二维数组的输入输出#includevoid main()int i,j,a34;printf(input array numbers:n);for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&aij);printf(output array numbers:n);for(i=0;i3;i+)for(j=0;j4;j+)printf(%d ,aij);printf(n);N行M列二维数组找出最大值,及最大值所在行列#define N 2#define M 3#includevoid main()int i,j,xNM,max,line,col;printf(input array numbers:n);for(i=0;iN;i+)for(j=0;jM;j+)scanf(%d,&xij);max=x00;line=0;col=0;for(i=0;iN;i+)for(j=0;jM;j+)if(maxxij)max=xij;line=i;col=j;printf(nmax=%dtline=%dtcol=%dn,max,line,col);输入字符串,统计小写大写字母、数字、其他字符的个数#includevoid main()int i,m,n,x,y;char s80;printf(input a string:n);scanf(%s,s);m=n=x=y=0;i=0;while(si!=0)if(si=a&si=A&si=0&si=9) x+;else y+;i+;printf(az:%dnAZ:%dn09:%dnothers:%dn,m,n,x,y);将字符串S1从第m个字符开始剩余的所有字符,送入字符数组s2中#includevoid main()int i,j,m;char s180,s280;printf(input a string:n);gets(s1);printf(input start point:n);scanf(%d,&m);i=m-1;j=0;while(s1i!=0)s2j=s1i;i+;j+;s2j=0;puts(s2);字符串拷贝函数#include#includevoid main()static char a10=abcdefghi;char b=happy; strcpy(a,b);puts(a);字符串连接函数#include#includevoid main()static char a20=my name is ,b10=li ming;strcat(a,b);puts(a);计算字符串长度的函数:#include#includevoid main()static char st20=hello0abcd0abc0;printf(%d,strlen(st);(去掉hello后的那些,结果也是5)用字符串处理函数,判断回文数#include#includevoid main()char a10;int i,j,n,f=1;gets(a);n=strlen(a);for(i=0,j=n-1;ij;i+,j-)if(ai!=aj)f=0;break;if(f=1)printf(yes);一个数组10个整形元素,求出各素数之和(数组元素作为函数的参数)#include#includevoid main()int a10,i,sum=0;int prime(int x);printf(enter 10 numbers:n);for(i=0;i10;i+)scanf(%d,&ai);if(prime(ai) (prime(ai)返回的值只是1或0,若是0,则if错误,就不进行下一步sum+=ai。若是1,则进行下一步。)sum+=ai;printf(sum=%dn,sum);int prime(int x)int f=1,k;if(x=1) f=0;for(k=2;k=sqrt(x);k+)if(x%k=0)f=0;break;return(f);数组名作为函数的参数(计算一个数组中的某几项的和)#includeint f(int b,int m,int n)int i,s=0;for(i=m;in;i=i+2)s=s+bi;return s;void main()int x,a=1,2,3,4,5,6,7,8,9;x=f(a,3,7);printf(%dn,x);【指针】* 求其后内存地址中的内容#includestdio.hvoid main()int a,b;int *p1,*p2;a=100;b=10;p1=&a;p2=&b;printf(%d,%dn,a,b);printf(%d,%dn,*p1,*p2);对输入的两个整数按大小顺序输出#include void main()int *p1,*p2,*p,a,b;a=5;b=9;p1=&a;p2=&b;if(ab)p=p1;p1=p2;p2=p;printf(a=%d,b=%dn,a,b);printf(max=%d,min=%dn,*p1,*p2);交换两数1,能#includevoid main()void swap(int *pa,int *pb);int a,b;int *p1,*p2;scanf(%d,%d,&a,&b);p1=&a;p2=&b;if(ab)swap(p1,p2);printf(n%d,%dn,a,b);void swap(int *pa,int *pb)int p;p=*pa;*pa=*pb;*pb=p;交换两数2,能#includevoid main()int a,b;void swap(int *pa,int *pb);scanf(%d,%d,&a,&b);if(ab)swap(&a,&b);printf(n%d,%dn,a,b);void swap(int *pa,int *pb)int p;p=*pa;*pa=*pb;*pb=p;交换两数3,不能#includevoid main()int a,b;int *p1,*p2;void swap(int *pa,int *pb);scanf(%d,%d,&a,&b);p1=&a;p2=&b;if(ab)swap(p1,p2);printf(n%d,%dn,a

温馨提示

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

评论

0/150

提交评论