C语言典型例题整理.docx
- 文档编号:25718993
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:31
- 大小:27.80KB
C语言典型例题整理.docx
《C语言典型例题整理.docx》由会员分享,可在线阅读,更多相关《C语言典型例题整理.docx(31页珍藏版)》请在冰豆网上搜索。
C语言典型例题整理
顺序结构程序设计
已知三角形的底边为20,高为10,求其面积。
#include
voidmain()
{
floata,h,s;
a=20;
h=10;
s=1.0/2*a*h;/*1.0/2不能写作1/2*/
printf("s=%f\n",s);
}
从键盘输入三角形的底边及高的长度,求其面积。
#include
voidmain()
{
floata,h,s;
scanf("%f%f",&a,&h);
s=1.0/2*a*h;/*1.0/2不能写作1/2*/
printf("s=%f\n",s);
}
变量作用域
#include
intcount;/*count是全局变量*/
voidfunc1();/*函数声明*/
voidfunc2();
voidmain()
{
count=100;
func1();
}
voidfunc1()/*函数定义*/
{
inttemp;/*temp是局部变量*/
temp=count;
func2();
printf("countis%d\n",count);/*打印100*/
func2();
}
voidfunc2()
{
intcount;/*定义局部变量count*/
for(count=1;count<20;count++)
printf(".");/*打印出"."*/
printf("\n");
}
多文件
f1.c
#include
externa;
voidmain()
{
intx=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=%d\n",result1,result2);
}
f2.c
externinta=10;
intmax(intx,inty)
{
returnx>y?
x:
y;
}
intmin(intx,inty)
{
returnx x: y; } 分段函数 #include voidmain() { doublex,y; scanf("%lf",&x); if(x>=1) if(x>=10) y=3*x-14; else y=2*x-1; else y=x; printf("%lf\n",y); } 冒泡1 #include #defineN5 voidmain() { inti,j,t,a[N]; for(i=0;i scanf("%d",&a[i]); for(i=0;i for(j=0;j if(a[j] { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=0;i printf("%d\t",a[i]); printf("\n"); } 冒泡2 #include #defineN5 voidsort(inta[N]) { inti,j,t; for(i=0;i for(j=0;j if(a[j] { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } voidmain() { inti,a[N]; for(i=0;i scanf("%d",&a[i]); sort(a); for(i=0;i printf("%d\t",a[i]); printf("\n"); } 逆序三位数 #include voidmain() { intx,y=0,m; printf("请输入一个三位数: "); scanf("%d",&x); while(x) { m=x%10; y=10*y+m; x=x/10; } printf("y=%d\n",y); } 闰年 #include intisleap(intyear) { if(year%400==0||year%4==0&&year%100! =0) return1; else return0; } voidmain() { intyear,n=0; for(year=1900;year<=2010;year++) { if(isleap(year)) { printf("%d\t",year); n++; if(n%5==0) printf("\n"); } } printf("\n"); } 数组参数 1 /*编写一函数,该函数的功能是*/ #include #defineM3 #defineN4 voidconert(inta[][N],intb[][N]); voidmain() { inti,j; intb[M][N],a[M][N]={1,2,-4,6,-9,11,32,-45,-22,-7,67,91}; conert(a,b); for(i=0;i { for(j=0;j printf("%d\t",b[i][j]); printf("\n"); } } voidconert(inta[][N],intb[][N]) { inti,j; for(i=0;i { for(j=0;j { if(a[i][j]<0) b[i][j]=-1; else if(a[i][j]>0) b[i][j]=1; else b[i][j]=0; } } } 2 #include #defineN12 doubleadd(doublea[],intn,intm); voidmain() { doublea[N]={1,2,-4,6,-9,11,32,-45,-22,-7,67,91},sum; sum=add(a,3,4); printf("%lf\n",sum); } doubleadd(doublea[],intn,intm) { inti; doubles=0; for(i=n;i { s+=a[i]; } returns; } 素数 /*编写判断素数的函数,再调用该函数判断1937是否是素数。 */ #include intisprime(intn) { inti; for(i=2;i if(n%i==0) return0; else continue; return1; } voidmain() { if(isprime(1937)) printf("prime\n"); else printf("noprime\n"); } 统计单词 #include voidmain() { charstring[1024]; inti,num=0,word=0; charc; gets(string); for(i=0;(c=string[i])! ='\0';i++) if(c=='') word=0; else { if(word==0) { num++; word=1; } } printf("%d\n",num); } 选择排序 #include #include voidnsort(int*p,intn) { inti,j,min; for(i=0;i { min=i; for(j=i+1;j { if(p[min]>p[j]) { min=j; } } if(min! =i) { intt; t=p[min]; p[min]=p[i]; p[i]=t; } } } voidssort(char**p,intn) { inti,j,min; for(i=0;i { min=i; for(j=i+1;j { if(strcmp(p[min],p[j])>0) min=j; } if(min! =i) { char*q; q=p[min]; p[min]=p[i]; p[i]=q; } } } voidmain() { inti,a[]={23,6,78,15,88,123}; char*name[]={"FORTRAN","BASIC","C++","Java","VB","C"}; nsort(a,6); for(i=0;i<6;i++) printf("%d\t",a[i]); printf("\n"); ssort(name,6); for(i=0;i<6;i++) puts(name[i]); } /*输入一个字符串,将其中连续的数字作为一个整数,依次存放在一个数组中,统计共有多少个整数,并输出这些整数*/ #include voidmain() { charstr[80]; intnumber[20],i=0,j=0,n=0,flag=0; gets(str); while(str[i]! ='\0') { if(str[i]>='0'&&str[i]<='9') { n=10*n+(str[i]-'0'); if(flag==0) flag=1; } else { if(flag) { number[j]=n; j++; n=0; flag=0; } } i++; } if(flag) number[j]=n; for(i=0;i<=j;i++) printf("%d\t",number[i]); printf("\n"); } 最大公约数 #include voidmain() { intm,n,r,p; scanf("%d%d",&m,&n); p=m*n; while((r=m%n)! =0) { m=n; n=r; } printf("最大公约数是: %d\n",n);/*r=0时的除数是最大公约数*/ printf("最小公倍数是: %d\n",p/n);/*两数的积除以最大公约数等于最小公倍数*/ } 插入 #include voidmain() { inta[8]={2,32,45,67,88,91,94}; inti,j,x; for(i=0;i<7;i++) { printf("%d",a[i]); } printf("\n"); scanf("%d",&x); for(i=0;i<7;i++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 典型 例题 整理