C语言学习由入门到精通经典实例集合.docx
《C语言学习由入门到精通经典实例集合.docx》由会员分享,可在线阅读,更多相关《C语言学习由入门到精通经典实例集合.docx(14页珍藏版)》请在冰豆网上搜索。
![C语言学习由入门到精通经典实例集合.docx](https://file1.bdocx.com/fileroot1/2022-11/25/2dbe1ae3-1210-4efd-9616-7b07461a9657/2dbe1ae3-1210-4efd-9616-7b07461a96571.gif)
C语言学习由入门到精通经典实例集合
C语言学习由入门到精通(经典实例集合)
第一章:
C语言概述
test1-1:
求两数之和
#include
voidmain()
{
inta,b,sum;
a=123;
b=456;
sum=a+b;
printf("Sumis%d\n",sum);
}
运行结果:
test1-2:
求两数中的较大者
#include
voidmain()
{
intmax(intx,inty);
inta,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
intmax(intx,inty)
{
intz;
if(x>y)
z=x;
elsez=y;
return(z);
}
运行结果:
tset1-3:
输出指定的信息
#include
voidmain()
{
inti,j;
for(i=0;i<=40;i++)
printf("*");
printf("\nC语言学习开篇!
\n");
for(j=0;j<=40;j++)
printf("*");
}
运行结果:
第二章:
数据的存储与运算
test2-1;鸡兔同笼
一个笼子养着一些鸡和兔子,现在知道鸡子和兔子总共16只,它们总脚数为40,问鸡子和兔子各有多少只?
#include
voidmain()
{
intx,y,m,n;
m=16;
n=40;
y=(n-2*m)/2;
x=m-y;
printf("cock=%d\nrabbit=%d\n",x,y);
}
运行结果:
test2-2:
分期付款计算
贷款额为324500元,每月准备还3245元,月利率为0.8%,问几个月可以还完?
#include
#include
voidmain()
{
intd=324500,p=3245;
doubler=0.008,m;
m=(log10(p)-log10(p-d*r))/log10(1+r);
printf("month=%f\n",m);
}
运行结果:
test2-3:
逐个输出英文字母CHINA;然后反序逐个输出ANIHC。
#include
voidmain()
{
chara='C',b='H',c='I',d='N',e='A';
printf("%c%c%c%c%c\n",a,b,c,d,e);
printf("%c%c%c%c%c\n",e,d,c,b,a);
}
运行结果:
test2-4:
求圆的面积和周长
已知圆的半径r,分别求圆的周长c,圆面积s,圆球的体积v。
、
#include
#include
#definePI3.1415926
voidmain()
{
doubler,c,s,v;
r=3.67;
c=2*PI*r;
s=PI*pow(r,2);
v=4.0/3.0*PI*pow(r,3);
printf("Circumference=%f\nArea=%f\nVolume=%f\n",c,s,v);
}
运行结果:
test2-5:
强制类型转换
#include
voidmain()
{
floatf=3.38;
inti;
i=(int)f;
printf("f=%f\ni=%d\n",f,i);
}
运行结果:
第三章:
顺序结构设计
test3-1:
先后输出几个字符
#include
voidmain()
{
chara,b,c;
a='B';b='O';c='Y';
putchar(a);
putchar(b);
putchar(c);
printf("\n");
}
运行结果:
test3-2:
输入一个字符
#include
voidmain()
{
chara;
a=getchar();
putchar(a);
printf("\n");
}
运行结果:
test3-3:
由“海伦公式”求三角形面积
#include
#include
voidmain()
{
doubles,a,b,c,area;
scanf("%lf,%lf,%lf",&a,&b,&c);
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("Area=%lf\n",area);
}
运行结果:
test3-4:
求方程ax2+bx+c=0的根
#include
#include
voidmain()
{
doublea,b,c,disc,m,n,x1,x2;
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
disc=b*b-4*a*c;
m=-b/(2*a);
n=sqrt(disc)/(2*a);
x1=m+n;
x2=m-n;
printf("x1=%f\nx2=%f\n",x1,x2);
}
运行结果:
第四章:
条件判断
test4-1:
由高到低输出三个数
#include
voidmain()
{
floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a
{t=a;a=b;b=t;}
if(a{t=a;a=c;c=t;}
if(b{t=b;b=c;c=t;}
printf("%f,%f,%f\n",a,b,c);
}
运行结果:
test4-2:
由三边长求三角形面积
#include
#include
voidmain()
{
floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b+c)/2;
if(a+b>c&&b+c>a&&a+c>b)
{
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("Area=%f\n",area);
}
else
printf("Thisnotatriangle!
\n");
}
运行结果:
test4-3:
商品打折
50件以上优惠5%,100件以上优惠7.5%,300件以上优惠10%,500件以上优惠15%,输入数量和单价计算应付款。
#include
voidmain()
{
floatdiscount,total,price;
intnumber;
printf("Pleaseenterpriceandnumber:
");
scanf("%f,%d",&price,&number);
if(number>=500)discount=0.15;
elseif(number>=300)discount=0.10;
elseif(number>=100)discount=0.075;
elseif(number>=50)discount=0.05;
elsediscount=0;
total=number*price*(1-discount);
printf("商品总价格是:
%f元。
\n",total);
}
运行结果:
test4-4:
判断闰年
#include
voidmain()
{
intyear;
printf("PLeaseenterayear:
\n");
scanf("%d",&year);
if(year%400==0||(year%4==0&&year%100!
=0))
printf("Theyearisaleapyear!
\n");
else
printf("Theyearisnotaleapyear!
\n");
}
运行结果:
test4-5:
Switch的简单应用
#include
voidmain()
{
floatp,t,w,discount;
intc,s;
printf("Pleaseenterprice/weightandspace:
");
scanf("%f,%f,%d",&p,&w,&s);
if(s>=3000)
c=12;
else
c=s/250;
switch(c)
{
case0:
discount=0;break;
case1:
discount=1;break;
case2:
case3:
discount=2;break;
case4:
case5:
case6:
case7:
discount=8;break;
case9:
case10:
case11:
discount=10;break;
case12:
discount=15;break;
}
t=p*w*s*(1-discount/100.0);
printf("Thetotalis%f.\n",t);
}
运行结果:
第五章:
循环结构程序设计
Test5-1:
求1到100之间所有数字的和
#include
voidmain()
{
inti=1,sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("1到100数字和为:
%d\n",sum);
}
运行结果:
tset5-2:
慈善基金准备募捐10000元,有如感人捐献,每输入一次捐款计算机将显示总共捐款总额,超过10000则结束捐款并显示捐款结果。
#include
voidmain()
{
floatsum=0,amount;
printf("Startenterdonation:
\n");
do
{
scanf("%f",&amount);
sum=sum+amount;
}
while(sum<10000);
printf("sum=%f\n",sum);
}
运行结果:
test5-3:
国王的小麦
#include
voidmain()
{
doublep=1,t=1,v;
inti;
for(i=1;i<=63;i++)
{
p=p*2;
t=t+p;
}
v=t/1.42e8;
printf("Total=%e\n",t);
printf("Volume=%e\n",v);
}
运行结果:
test5-4:
人口增长预测
2005年我国人口130756万,人口年增长率为1%,计算哪一年中国人口超过15亿。
#include
voidmain()
{
doublep=1.30756e9,r=0.01;
inty;
for(y=2005;p<1.5e9;y++)
{
p=p*(1+r);
}
printf("Theyearis%d.\n",y);
}
运行结果:
test5-5:
统计各班(不超过30人)学生的平均成绩
#include
voidmain()
{
inti,n;
floatscore,sum=0,ave;
for(i=1;i<31;i++)
{
scanf("%f",&score);
if(score<0)break;
sum=sum+score;
}
n=i-1;
ave=sum/n;
printf("学生人数为:
%d\n平均成绩为:
%f\n",n,ave);
}
运行结果:
第六章:
利用数组处理批量数据
test6-1:
引用数组元素
利用循环给数组元素a[0]-a[9]赋值0~9,然后按逆序进行输出;
#include
voidmain()
{
inti,a[10];
for(i=0;i<10;i++)
{
a[i]=i;
}
for(i=9;i>=0;i--)
{
printf("%d,",a[i]);
}
}
运行结果:
Test6-2:
冒泡法排序