c++实例.docx
《c++实例.docx》由会员分享,可在线阅读,更多相关《c++实例.docx(35页珍藏版)》请在冰豆网上搜索。
c++实例
计算1~100的累加值,个位数是三的数不加
#include
voidmain()
{
intn,s=0;
for(n=1;n<=20;n++)
{
if(n%10!
=3)//if(n%10==3)continue;
s=s+n;
}
printf("%d\n",s);
}
输出***
#include
voidmain()
{
inta=1;
while(a<=3)
{printf("*");
a++;
}
printf("\n");
}
输出下列图形
***
***
#include
voidmain()
{
inta=1,b=1;
while(a<=2)
{b=1;//若去掉呢?
while(b<=3)
{printf("*");
b++;
}
printf("\n");
a++;}
}
输出下列图形
*
**
***
****
*****
#include
voidmain()
{inta=1,b=1;
while(a<=5)//实际上外层循环控制行数
{b=1;
while(b<=a)//内层循环控制列数
{printf("*");
b++;
}
printf("\n");
a++;
}
}
输出下列图形
*****
****
***
**
*
#include
voidmain()
{inta=5,b=1;
while(a>=1)//实际上外层循环控制行数
{b=1;
while(b<=a)//内层循环控制列数
{printf("*");
b++;
}
printf("\n");
a--;
}
}
输出下列图形
*
***
*****
*******
*********
#include
voidmain()
{
inti,j,k;
for(i=1;i<=5;i++)
{for(j=1;j<=5-i;j++)
cout<<"";
for(k=1;k<=2*i-1;k++)
cout<<"*";
cout<}
}
*
#include
voidmain()
{
inti,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf("");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++)
printf("");
for(k=1;k<=7-2*i;k++)
printf("*");
printf("\n");
}
}
输出下九九乘法表
#include
voidmain()
{
inta=1,b=1;
while(a<=9)
{b=1;
while(b<=a)
{printf("%d*%d=%d",b,a,b*a);
b++;
}
printf("\n");
a++;
}
}
输出斜下九九乘法表
#include
voidmain()
{
inta=9,b=1;
while(a>=1)
{b=1;
while(b<=a)
{printf("%d*%d=%d",b,a,b*a);
b++;
}
printf("\n");
a--;
}
}
输入两个数,求出它们的最大公约数。
#include
#include
usingnamespacestd;
voidmain()
{inta,b,m,t,i;
m=1;
cin>>a;
cin>>b;
for(i=1;i<=a;i++)
{if(a%i==0&&b%i==0)
t=i;
if(t>m)
m=t;}
cout<输入两个数,求出它们的最小公倍数。
#include
usingnamespacestd;
voidmain()
{inta,b,k,t,max;
cin>>a;
cin>>b;
if(a>b)
max=a;
else
max=b;
for(k=max;k<=a*b;k++)
{if(k%a==0&&k%b==0)
break;
else
continue;
}
cout<编写一个程序,输入一个正整数使其颠倒输出,如12345
54321
#include
usingnamespacestd;
voidmain()
{intn,x;
cin>>n;
while(n!
=0)
{x=n%10;
cout<n=n/10;}
cout<<'\n';}
根据不同的范围求值
#include
#include
usingnamespacestd;
voidmain()
{intn;
floatt;
cout<<"请输入=";
cin>>n;
while
(1)
{if(n==0)break;
elseif(n>0)
t=sqrt(n);
else
t=pow(n,1/3.0);
cout<cin>>n;}//(这一步计算不出来,当t=pow(n,3.0)时就可以执行)
}
用二分法求f(x)=x3-6x-1=0在[0,5]区间的一个实根,精度要求为0.00005。
#include
usingnamespacestd;
voidmain()
{doublea,b,c,fa,fb,fc;
a=0;b=5;
fa=a*a*a-6*a-1;
fb=b*b*b-6*b-1;
do{c=(a+b)/2.0;
fc=c*c*c-6*c-1;
if(fa*fc<0)
b=c;
else
a=c;}while(b-a<5e-5);
cout<找出1000以内的所有完数。
如果一个数的各因子之和等于该数本身,称其为完数。
例如:
6的因子是1,2,3,而6=1+2+3,所以6是完数。
28也是完数,28=1+2+4+7+14。
#include
usingnamespacestd;
voidmain()
{inti,j,k;
for(i=1;i<=1000;i++)
{k=0;
for(j=1;j
{if(i%j==0)
k=k+j;}
if(k==i)
cout<
找出100~999之间的所有“水仙花数”。
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身,例如:
153=13+53+33。
#include
usingnamespacestd;
voidmain()
{inta,b,c,i;
for(i=100;i<=999;i++)
{a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
cout<
}}(拓展:
要是在范围1000~9999呢?
i=
)
输出九九表
#include
usingnamespacestd;
voidmain()
{inti,j;
for(i=1;i<=9;i++)
{for(j=1;j<=9;j++)
{if(i*j<10)
cout<
else
cout<
cout<计算1+1/2!
+1/3!
+……直到某项值小于等于0.00005
#include
usingnamespacestd;
voidmain()
{intn;
cin>>n;
intk=1,s=0,p=1;
while(1.0/p>5e-5)
{p=p*k;
s=s+1.0/p;
k=k+1;}
cout<<"s="<
利用公式
……计算圆周率,直到最后一项的绝对值小于10-6(这个式子怎样推导的?
)。
#include
usingnamespacestd;
voidmain()
{intp;
k=1;
s=0;
do{p=pow(-1,k+1)/(2*k-1);
s=s+p;
k=k+1;}while(abs(p)<1e-6);
cout<<"pi="<<4*s<<'\n';}
计算
的值
#include
voidmain()
{intn,p;
cin>>n;
intk=1,s=0;
while(k<=n)
{p=1/((2*k-1)*(2*k+1));
s=s+p;
k++;}
cout<<"s="<
计算三个数的平均数
#include
doublehu(inta,intb,intc);
voidmain()
{inta,b,c;
doubled;
cin>>a>>b>>c;
d=hu(a,b,c);
cout<<"d="<doublehu(inta,intb,intc)
{doubled;
d=(a+b+c)/3.0;
returnd;}
求两个数的最大值
#include
doublehu(double,double);
voidmain()
{doublea,b,d;
cin>>a>>b;
d=hu(a,b);
cout<<"d="<doublehu(doublea,doubleb)
{doubled;
if(a>b)
d=a;
else
d=b;
returnd;}
计算1+2+3+~~+n的值
#include
doublehu(intn);
voidmain()
{doubled;
intn;
cin>>n;
d=hu(n);
cout<<"d="<doublehu(intn)
{doubled=0;intk=1;
while(k<=n)
{d=d+k;
k++;}
returnd;}
求一个数的阶乘
#include
intfactorial(intn);
voidmain()
{intn,f;
cout<<"输入整数=";
cin>>n;
f=factorial(n);
cout<intfactorial(intn)
{intf=1,i=1;
while(i<=n)
{f=f*i;
i=i+1;}
returnf;}
利用函数计算下列情况
#include
#include
#include
#include
doublesjxmj(doublea,doubleb,doublec);
intjiecheng(intx);
voidmenu();
//主函数模块
voidmain()
{intn,f;//计算阶乘f=n!
charx;//菜单项选择变量
doublea,b,c,s;
while
(1)
{
menu();
cout<<"输入选择(0-2):
";
cin>>x;
switch(x)
{
case'1':
cout<<"输入三边之长(用空格间隔):
";
cin>>a>>b>>c;
s=sjxmj(a,b,c);
if(s)
cout<<"s="<
else
cout<<"输入数据错误!
!
!
\n";
cout<<"按任意键返回主菜单"<getch();//conio.h
break;
case'2':
cout<<"输入整数:
";
cin>>n;
f=jiecheng(n);
cout<="<getch();
break;
case'0':
break;
default:
cout<<"输入选择错误,按任意键重新选择"<}
if(x=='0')break;
}
cout<<"再见!
!
!
按任意键结束\n";
}
//求三角形面积
doublesjxmj(doublea,doubleb,doublec)
{doublep,s;
if(a+b>c&&b+c>a&&c+a>b)
{
p=(a+b+c)/2.0;
s=sqrt(p*(p-a)*(p-b)*(p-c));
}
else
s=0;
returns;
}
//计算阶乘
intjiecheng(intx)
{
intf=1,k;
for(k=1;k<=x;k++)
f=f*k;
returnf;
}
voidmenu()
{
system("cls");//stdlib.h
cout<<"※※※实用计算器※※※\n";
cout<<"┏━━━━━━━━━━━━━┓\n";
cout<<"┃1┉三角形面积┃\n";
cout<<"┃2┉阶乘┃\n";
cout<<"┃0┉结束┃\n";
cout<<"┗━━━━━━━━━━━━━┛\n";
}
改编上题
#include
#include
#include
#include
doublezuidazhi(double,double);
doublepingjunzhi(inta,intb,intc);
intqiannxianghe(intn);
voidmenu();
//主函数模块
voidmain()
{charh;
while
(2)
{
menu();
cout<<"输入选择(0-3):
";
cin>>h;
switch(h)
{
case'1':
doubles;
inta,b,c;
cout<<"输入三个数(用空格间隔):
";
cin>>a>>b>>c;
s=pingjunzhi(a,b,c);
cout<<"s="<
cout<<"按任意键返回主菜单"<getch();//conio.h
break;
case'2':
doublex,y,f;
cout<<"输入两个数:
";
cin>>x>>y;
f=zuidazhi(x,y);
cout<<"f="<getch();
break;
case'3':
intn,q;
cout<<"n=";
cin>>n;
q=qiannxianghe(n);
cout<<"q="<getch();
break;
case'0':
break;
default:
cout<<"输入选择错误,按任意键重新选择"<getch();
}
if(h=='0')break;
}
cout<<"再见!
!
!
按任意键结束\n";
}
//计算两个数的最大值
doublezuidazhi(doublex,doubley)
{doublef;
if(x>y)
f=x;
else
f=y;
returnf;
}
//计算三个数的平均值
doublepingjunzhi(inta,intb,intc)
{
doubles;
s=(a+b+c)/3.0;
returns;
}
//计算前n项的和
intqiannxianghe(intn)
{intq=0,k=1;
while(k<=n)
{q=q+k;
k++;}
returnq;
}
voidmenu()
{
system("cls");//stdlib.h
cout<<"※※※实用计算器※※※\n";
cout<<"┏━━━━━━━━━━━━━┓\n";
cout<<"┃1┉三个数的平均值┃\n";
cout<<"┃2┉两个数的最大值┃\n";
cout<<"┃3┉前n项1+2+~+n的和┃\n";
cout<<"┃0~结束┃\n";
cout<<"┗━━━━━━━━━━━━━┛\n";
}
编写一个函数,功能是根据调用者提供的成绩数据显示优、良、中、及格以及不及格。
#include
voidhu(intn);
voidmain()
{
intn;
cout<<"请输入成绩=";
cin>>n;
hu(n);}
voidhu(intn)
{if(n>=90)
cout<<"优"<elseif(n>=80)
cout<<"良"<elseif(n>=70)
cout<<"中"<elseif(n>=60)
cout<<"及格"<else
cout<<"不及格"<return;}//(return可以省略)
计算
的值
#include
voidmain()
{intn;
doublex,s=1.0,p1=1;
cout<<"n=";
cin>>n;
cout<<"x=";
cin>>x;
intp2=1,k=1;
while(k<=n)
{p1=x*p1;
p2=k*p2;
s=s+p1/p2;
k=k+1;}
cout<<"s="<
用嵌套函数计算计算
的值。
#include
#include
doubleqiuhe(intn,intx);
doublepingfang(intx,intk);
voidmain()
{intn,x;
doubles;
cin>>n;
cin>>x;
s=qiuhe(n,x);
cout<
doubleqiuhe(intn,intx)
{intk=1;
doubles=1.0,p1,p2=1;
while(k<=n)
{
p1=pingfang(x,k);
p2=k*p2;
s=s+p1/p2;
k=k+1;}
returns;}
doublepingfang(intx,intk)
{doublep1;
p1=pow(x,k);
returnp1;}
24时计时法程序。
#include
voidmain()
{intn,e;
cout<<"n=";
cin>>n;
cout<<"e=";
cin>>e;
if(n>=24)
cout<<"输入数据错误"<elseif(n>12)
{n=n-12;
e=e;
cout<'<else
{n=n;
e=e;
cout<'<编写一个程序,输入一列字符,遇到字符‘#’后不再分类计数,将这一列字符分成四类分别计数,即字符x,y,z为一类,字符s为第二类,字符“.”为第三类,其余为第四类,最后输出分类计数结果。
#include
voidmain()
{intk=0,t=0,s=0,other=0;
charn;
cin>>n;
while(n!
='#')
{switch(n)
{case'x':
case'y':
case'z':
k++;break;
case's':
s++;break;
case'.':
t++;break;
default:
other++;
}
cin>>n;
}
cout<<"k="<#include
voidmain()
{
inta[10],sum=0,k,i;
doublev;
for(k=0;k<10;k++)
{
cout<<"a["<cin>>a[k];
sum=sum+a[k];}
v=sum/10.0;
cout<<"v="<for(i=0;i<10;i++)
{
if(a[i]>v)
cout<<"a["<
利用一维数组输入