}
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
.
【解答】
#include
usingnamespacestd;
intmain()
{doublea,b,c;
cout<<"a,b,c=";
cin>>a>>b>>c;
if(a+b>c&&b+c>a&&c+a>b)
{if(a==b&&b==c)
cout<<"等边三角形!
"<》
elseif(a==b||a==c||b==c)
cout<<"等腰三角形!
"<elsecout<<"一般三角形!
"<}
else
cout<<"不能形成三角形!
"<}
4.输入百分制成绩,并把它转换成五级分制,转换公式为:
【解答】
<
#include
usingnamespacestd;
intmain()
{doublescore;chargrade;
cout<<"score=";
cin>>score;
if(score>=0&&score<=100)
{switch(int(score)/10)
{case10:
case9:
grade='a';break;
~
case8:
grade='b';break;
case7:
grade='c';break;
case6:
grade='d';break;
case5:
case4:
case3:
case2:
case1:
case0:
grade='e';break;
}
、
}
else
{cout<<"数据输入错误!
"<gotoend;
}
cout<end:
;<case'r':
cout<<"Scissoriscrushedbyrock."<case'p':
cout<<"Scissorcutspaper."<default:
cout<<"secondinputerror!
"<`
}
case'r':
switch(second)
{case's':
cout<<"Rockcrushesscissor."<case'r':
cout<<"Rocktiesrock."<case'p':
cout<<"Rockiswrappedbypaper."<default:
cout<<"secondinputerror!
"<}
case'p':
switch(second)
@
{case's':
cout<<"Paperiscutbyscissor."<case'r':
cout<<"Paperwrapstherock."<case'p':
cout<<"Papertiespaper."<default:
cout<<"secondinputerror!
"<}
default:
cout<<"Firstinputerror!
"<}
end:
;
}
6.输入一个整数,输出该整数的所有素数因子。
例如,输入120,输出为2、2、2、3和5。
—
【解答】
#include
usingnamespacestd;
intmain()
{intm,i=2;
cout<<"pleaseinputm:
";
cin>>m;
while(i<=m)
if(m%i==0)
{cout<
:
m=m/i;
}
elsei++;
}
7.使用迭代公式
编程序求某一正整数a的平方根。
【解答】
#include
#include
usingnamespacestd;
intmain()
,
{constdoubleeps=1e-8;
doublea,x0,x;
cout<<"pleaseinputa:
";
cin>>a;
x0=a/2;
x=(x0+a/x0)/2;
while(fabs(x-x0)>eps)
{x0=x;x=(x0+a/x0)/2;
}
cout<。
}
8.已知X=0
,10
,20
,…,180
,求sinx,cosx和tanx的值。
【解答】
#include
#include
#include
usingnamespacestd;
intmain()
{constdoublepi=3.;
inti;
!
doublex,y1,y2,y3;
cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++)
{x=i*10*pi/180;
y1=sin(x);
y2=cos(x);
y3=y1/y2;
cout<(2)<
<—
}
}
9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。
【解答】
#include
usingnamespacestd;
intmain()
{inti;
for(i=100;i<=200;i++)
|
{if((i%3==2)&&(i%5==3)&&(i%7==2))
cout<
}
}
10.求100到999中的水仙花数。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=1
+5
+3
,所以153为水仙花数。
【解答】
#include
usingnamespacestd;
intmain()
《
{inti,a,b,c;
for(i=100;i<=999;i++)
{a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(i==a*a*a+b*b*b+c*c*c)cout<
}
}
11.求1000之内的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,因为6=1+2+3,所以6为完数。
【解答】
《
#include
usingnamespacestd;
intmain()
{inti,j,s;
for(i=1;i<=1000;i++)
{s=0;
for(j=1;j
if(i%j==0)s=s+j;
if(i==s)cout<
}
}
12.编一程序显示由符号组成的三角形图案。
例如,程序运行后,
屏幕显示:
Howmanylines
用户输入:
5
屏幕显示:
Whatcharacter
用户输入:
*
则输出如下图案。
*
***
*****
*******
*********
【解答】
#include
usingnamespacestd;
intmain()
{inti,j,k,n;
charch;
cout<<"Howmanylines\n";
cin>>n;
cout<<"Whatcharacter\n";
cin>>ch;
for(i=1;i<=n;i++)
{for(k=1;k<=n-i;k++)cout<<"";
for(j=1;j<=2*i-1;j++)cout<cout<}
}
13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。
【解答】
#include
usingnamespacestd;
intmain()
{intx,y,z,i;
for(x=1;x<=9;x++)
for(y=1;y<=9;y++)
for(z=0;z<=9;z++)
{i=100*x+10*y+z+100*y+10*z+z;
if(i==