c++实例.docx

上传人:b****8 文档编号:10339985 上传时间:2023-02-10 格式:DOCX 页数:35 大小:31.33KB
下载 相关 举报
c++实例.docx_第1页
第1页 / 共35页
c++实例.docx_第2页
第2页 / 共35页
c++实例.docx_第3页
第3页 / 共35页
c++实例.docx_第4页
第4页 / 共35页
c++实例.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

c++实例.docx

《c++实例.docx》由会员分享,可在线阅读,更多相关《c++实例.docx(35页珍藏版)》请在冰豆网上搜索。

c++实例.docx

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["<

利用一维数组输入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1