校园网-C语言例题整理_第1页
校园网-C语言例题整理_第2页
校园网-C语言例题整理_第3页
校园网-C语言例题整理_第4页
校园网-C语言例题整理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、顺序结构程序设计已知三角形的底边为20,高为10,求其面积。#includevoid main()float a,h,s;a=20;h=10;s=1.0/2*a*h; /*1.0/2不能写作1/2*/printf(s=%fn,s);从键盘输入三角形的底边及高的长度,求其面积。#includevoid main()float a,h,s;scanf(%f%f,&a,&h);s=1.0/2*a*h; /*1.0/2不能写作1/2*/printf(s=%fn,s);变量作用域# include int count; /* count是全局变量 */void func1(); /* 函数声明 */vo

2、id func2();void main()count = 100;func1();void func1() /* 函数定义 */int temp; /* temp是局部变量 */temp = count;func2();printf( count is %dn, count); /* 打印100 */func2();void func2()int count; /* 定义局部变量count */for(count = 1; count 20; count+)printf(.); /* 打印出. */printf(n);多文件f1.c#includeextern a;void main()in

3、t x=7,y=8,result1,result2;result1=(x+y)*a+max(x,y*a);a-=3;result2=min(a,max(x,y);printf(result1=%d,result2=%dn,result1,result2);f2.cextern int a=10;int max(int x,int y)return xy?x:y;int min(int x,int y)return xy?x:y;分段函数#includevoid main()double x,y;scanf(%lf,&x);if(x=1) if(x=10)y=3*x-14; else y=2*x

4、-1;elsey=x;printf(%lfn,y);冒泡1#include#define N 5void main()int i,j,t,aN;for(i=0;iN;i+)scanf(%d,&ai);for(i=0;iN-1;i+)for(j=0;jN-1-i;j+)if(ajaj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;iN;i+)printf(%dt,ai);printf(n);冒泡2#include#define N 5void sort(int aN)int i,j,t;for(i=0;iN-1;i+)for(j=0;jN-1-i;j+)if(ajaj+1)t=aj

5、;aj=aj+1;aj+1=t;void main()int i,aN;for(i=0;iN;i+)scanf(%d,&ai);sort(a);for(i=0;iN;i+)printf(%dt,ai);printf(n);逆序三位数#includevoid main()int x,y=0,m;printf(请输入一个三位数:);scanf(%d,&x);while(x)m=x%10;y=10*y+m;x=x/10;printf(y=%dn,y);闰年#includeint isleap(int year)if(year%400=0|year%4=0&year%100!=0)return 1;e

6、lsereturn 0;void main()int year,n=0;for(year=1900;year=2010;year+)if(isleap(year)printf(%dt,year);n+;if(n%5=0)printf(n);printf(n);数组参数1/*编写一函数,该函数的功能是*/#include#define M 3#define N 4void conert(int aN,int bN);void main()int i,j;int bMN,aMN=1,2,-4,6,-9,11,32,-45,-22,-7,67,91;conert(a,b);for(i=0;iM;i+

7、)for(j=0;jN;j+)printf(%dt,bij);printf(n);void conert(int aN,int bN)int i,j;for(i=0;iM;i+)for(j=0;jN;j+)if(aij0)bij=1;elsebij=0;2#include#define N 12double add(double a,int n,int m);void main()double aN=1,2,-4,6,-9,11,32,-45,-22,-7,67,91,sum;sum=add(a,3,4);printf(%lfn,sum);double add(double a,int n,i

8、nt m)int i;double s=0;for(i=n;in+m;i+)s+=ai;return s;素数/*编写判断素数的函数,再调用该函数判断1937是否是素数。*/#includeint isprime(int n)int i;for(i=2;in;i+)if(n%i=0)return 0;elsecontinue;return 1;void main()if(isprime(1937)printf(primen);elseprintf(no primen);统计单词#includevoid main()char string1024;int i,num=0,word=0;char

9、c;gets(string);for(i=0;(c=stringi)!=0;i+)if(c= )word=0;elseif(word=0)num+;word=1;printf(%dn,num);选择排序#include#includevoid nsort(int*p,int n)int i,j,min;for(i=0;in-1;i+)min=i;for(j=i+1;jpj)min=j;if(min!=i)int t;t=pmin;pmin=pi;pi=t;void ssort(char*p,int n)int i,j,min;for(i=0;in-1;i+)min=i;for(j=i+1;j0

10、)min=j;if(min!=i)char*q;q=pmin;pmin=pi;pi=q;void main()int i,a=23,6,78,15,88,123;char *name=FORTRAN,BASIC,C+,Java,VB,C;nsort(a,6);for(i=0;i6;i+)printf(%dt,ai);printf(n);ssort(name,6);for(i=0;i6;i+)puts(namei);/*输入一个字符串,将其中连续的数字作为一个整数,依次存放在一个数组中,统计共有多少个整数,并输出这些整数*/#includevoid main()char str80;int nu

11、mber20,i=0,j=0,n=0,flag=0;gets(str);while(stri!=0)if(stri=0&stri=9)n=10*n+(stri-0);if(flag=0)flag=1;elseif(flag)numberj=n;j+;n=0;flag=0;i+;if(flag)numberj=n;for(i=0;i=j;i+)printf(%dt,numberi);printf(n);最大公约数#includevoid main()int m,n,r,p;scanf(%d%d,&m,&n);p=m*n;while(r=m%n)!=0)m=n;n=r;printf(最大公约数是:

12、%dn,n);/*r=0时的除数是最大公约数*/printf(最小公倍数是:%dn,p/n);/*两数的积除以最大公约数等于最小公倍数*/插入#includevoid main()int a8=2,32,45,67,88,91,94;int i,j,x;for(i=0;i7;i+)printf(%d ,ai);printf(n);scanf(%d,&x);for(i=0;i7;i+)if(xi;j-)aj=aj-1;ai=x;for(i=0;i8;i+)printf(%d ,ai);printf(n);查找#includevoid main()int a=3,6,8,10,12,33,38,5

13、6,60;int x,top=0,bottom=8,mid;scanf(%d,&x);while(bottom=top)mid=(top+bottom)/2;if(xamid)top=mid+1;elseif(xamid)bottom=mid-1;elseprintf(%d在数组中找到,下标为%dn,x,mid);return;printf(%d在数组中没找到!n);带参数的main#include void main(int argc,char*argv)int i;printf(argc=%dn,argc);for(i=0;iargc;i+)printf(argv%d=%sn,i,argv

14、i);共用体的意义#include void main()int i;union dataint a;char b;char c20;x;scanf(%d,&x.a);printf(%dn,x.a);scanf(%c,&x.b);printf(%cn,x.b);scanf(%s,x.c);printf(%sn,x.c);删除#includevoid main()int a7=2,32,45,67,88,91,94;int j,x;for(j=0;j7;j+)printf(%d ,aj);printf(n);scanf(%d,&x);for(j=x;j6;j+)aj=aj+1;for(j=0;j

15、6;j+)printf(%d ,aj);printf(n);文件块操作#includestruct student int num;char name20;char sex;int age;float score;struct student s1,stu4= 11301,Zhang Ping,F,19,496.5,11302,Wang Li,F,20,483,11303,Liu Hong,M,19,503,11304,Song Rui,M,19,471.5;void main()FILE*fp;if(fp=fopen(c:abc.txt,w)=NULL)printf(file open er

16、ror!n);exit(1);fwrite(stu,sizeof(struct student),4,fp);fclose(fp);if(fp=fopen(c:abc.txt,r)=NULL)printf(file open error!n);exit(1);fseek(fp,sizeof(struct student),0);fread(&s1,sizeof(struct student),1,fp);printf(%dn,s1.num);杨辉三角形#include#define N 10void main()int i,j,k;int aNN;printf(n);for(i=0;iN;i+

17、) /* 生成杨辉三角形每行的首、尾元素值 */ai0=1;aii=1;for(i=2;iN;i+) /* 生成杨辉三角形其他元素值 */for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;iN;i+) /* 输出杨辉三角形 */for(k=2;kN-i;k+)printf( );for(j=0;j=i;j+)printf(%6d,aij);printf(n);设计一个函数void change(char*s),将字符串s中下标为偶数的字符移到左边,下标为奇数的字符移到右边。如当s=”a1b2c3d4e”,变换后s=”abcde1234”。#include#incl

18、udevoid change(char*s)char s180,s280;int i,j;for(i=0;s2*i!=0;i+)s1i=s2*i;s1i=0;for(j=0;s2*j+1!=0;j+)s2j=s2*j+1;s2j=0;strcat(s1,s2);strcpy(s,s1);void main()char a11=a1b2c3d4e;change(a);puts(a);编写一个函数,该函数的功能是:返回int数组a中第一个最接近a的平均值的数。函数原型:int mid(int*a,int n/*数组大小*/)#include#includeint mid(int*p,int n)i

19、nt i,s=0,average,m,k=0;for(i=0;in;i+)s+=pi;average=s/n;printf(average=%dn,average);m=(int)(fabs(average-p0);for(i=0;in;i+)if(int)(fabs(average-pi)m)m=(int)(fabs(average-pi);k=i;return pk;void main()int a=12,6,21,34,51,x;x=mid(a,5);printf(x=%dn,x);函数1、编写求圆的面积的函数,并调用该函数求出圆的面积。2、编写判断素数的函数,再调用该函数判断1937是

20、否是素数。3、编写判断素数的函数,再调用该函数求出1000以内的所有素数。4、编写判断素数的函数,调用该函数求出1000以内的所有素数之和并输出。5、编写求三个数中最大数的函数,并调用该函数求出三个数中的最大数。6、编写判定闰年的函数,并调用此函数判定某一年是否是闰年。7、编写判定闰年的函数,并调用此函数求出公元1900年到公元2010年之间的所有闰年。8、编写一个函数用于将一个整数前后倒置,并调用此函数将一个从键盘输入的整数前后倒置。9、编写求两个整数最大公约数的函数,并调用此函数求两个整数的最大公约数。10、编写求两个整数最大公约数的函数,并调用此函数求两个整数的最小公倍数。11、编写求两

21、个整数最小公倍数的函数,并调用此函数求两个整数的最小公倍数。12、找出1100中能被3整除且个位数是6的所有整数13、假设m是一个三位数abc,由a,b,c组成另一个三位数cba。14、使用循环语句设计一个函数void prt(int n),打印n行形如下图的图形#*#*#*#*编写一函数,该函数的功能是将数组aMN转换成符号数组bMN,a,b的关系如下,其中M、N为常数:函数原型为void conert(int aN,int bN)设计一个函数double add(double a,int n,int m),求数组a中从下标n开始的连续m个元素的和1. 打印由A,B,C,D所组成的全排列。#

22、includevoid main()int n=0;for(char i=A;i=D;i+)for(char j=A;j=D;j+)for(char k=A;k=D;k+)for(char l=A;l=D;l+)if(i!=j&i!=k&i!=l&j!=k&j!=l&k!=l)printf(%C%c%c%c ,i,j,k,l);n+;if(n%5=0)printf(n);printf(n);2. 随机生成n个100以内(不含100)的正整数赋给数组a(不使用元素a0),再将下标为奇数的元素和下标为偶数的元素分别按升序排序,并输出排序前和排序后数组的值。例如数组的值为50,32,93,2,34,

23、89,73,80,89,41,95。排序后为50,2,73,32,74,41,89,80,93,89,95#include#include#define N 20void sort(int a)int i,j,k,temp;for(i=1; iN/2; i+)for(j=1; jaj+2)temp=aj;aj=aj+2;aj+2=temp;for(k=2; kak+2)temp=ak;ak=ak+2;ak+2=temp;void main() int aN+1,i;for(i=1;i=N;i+)ai=rand()%100;printf(排序前:n);for(i=1;i=N;i+)printf(%d ,ai);printf(n);sort(a);printf(排序后:n);for(i=1;i1long f(int n)if(n1)return n*f(n-2);elseif(n=1)return -1;elseif(n=0)return 1;elsereturn 0;5. 输出杨辉三角形#i

温馨提示

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

评论

0/150

提交评论