cin>>a>>b>>c>>d;
x=a;
x=x<<8;
x=x+b;
x=x<<8;
x=x+c;
x=x<<8;
x=x+d;
coutvv"该整形变量的十位制为:
"vvxvvendl;
cout«"该整形变量的十六位制为:
"vvhexvvxvvendl;return0;
}
第三次
P.54~55
4.C++中的库函数sin(x),cos(x)等三角函数,自变量的单位为弧度。
请编写程序,用户输入角度,计算其正弦、余弦、正切(tan)和余切的函数值并显示出来。
要求如果用到n,请将其定义为符号常量。
#include
#include
usingnamespacestd;
intmain()
{
constdoublepi=3.1415926;
doubleangle;
coutvv"请输入需要计算的角度:
"<cin>>angle;angle=angle*pi/180;
cout<<"sin("<cout<<"tan("<}
P.54~55
6.找零钱。
为顾客找零钱时,希望选用的纸币张数最少。
例如73元,希望零钱的面值为五十元1张,二十元1张,一元3张。
设零钱面值有五十元、二十元、十元、五元和一元,请编写程序,用户输入100以下的数,计算找给顾客的各面值的纸币张数。
并在程序中想一个验证结果是否正确的办法。
#include
usingnamespacestd;
intmain()
{
intn;
intm50,m20,m10,m1;
coutvv"请输入客户付款面额:
"<cin>>n;
m50=n/50;
n=n%50;
m20=n/20;
n=n%20;
m10=n/10;
m1=n%10;
coutvv"需找还客户"vvendl;
cout<<"50元面额"vvm50vv"张"vvendl;
coutvv"20元面额"vvm20vv"张"vvendl;
cout<<"10元面额"vvmlOvv"张"<}
P.54~55
11.用户以字符形式输入4个数字字符,将其组成一个4位的整数。
例如,用户输入:
2011,输出结果为2011。
注意,输入的四个数字是字符型,用四个字符型变量存储,而2011是由它们构造出的一个四位整数,用一个整型变量表示。
#include
usingnamespacestd;
intmain()
{
charc1,c2,c3,c4;
intn;
coutvv"请输入四个整数:
"<>c1>>c2>>c3>>c4;
n=(c1-48)*1000+(c2-48)*100+(c3-48)*10+c4-48;;
cout<return0;
}
P.81~84
1.编程求三个数的最大数。
#include
usingnamespacestd;
intmain()
{
doublea,b,c,max,min;
coutvv"请输入待比较大小的三个数:
"<>a>>b>>c;
max=a;
min=b;
if(avb)
{min=a;max=b;};
if(maxvc)
{max=c;}
if(min>c)
{min=c;}coutvv"max="vvmaxvv"\t"vv"min="vvminvvendl;
return0;
}
P.81~84
2.编程计算下列分段函数的值:
y=xA2,当=0时。
#include
usingnamespacestd;
intmain()
{
doublex,y;
cout«"请输入带计算的X:
"<cin>>x;
if(x<0)
{y=x*x;}
else
{y=x*x*x+2*x*x+x;}cout<<"y="<return0;
}
第四次
P.81-3.编程计算1+2+3+...+n,n由用户输入。
#includeusingnamespacestd;
intmain()
{
intn;
intsum=0;
coutvv"请输入待计算的正整数n:
"<cin>>n;
for(inti=1;i<=n;i++)
{sum=sum+i;
}
cout<<"1+2+3+...+"<}
P.82-10.输入n(n<13),计算1!
+2!
+3!
+4!
+...+n!
#include
usingnamespacestd;
intmain()
{
intm;
intsum=0;
intn=1;
cout«"请输入待计算的n:
"<cin>>m;
for(inti=1;i<=m;i++)
{
n=n*i;sum=sum+n;
}
cout<<"1!
+..+"<="<return0;
}
P.83-13.计算a+aa+aaa+aaaa+...+aa...a(第n项,n个a),其中a是1〜9的整数。
例如,a=1,n=3时,式子为1+11+111;
当a=6,n=5时,式子为6+66+666+6666+66666。
#include
usingnamespacestd;
intmain()
{
intn;
inta;
intm=0;
intsum=0;
coutvv"请依次输入待计算的正整数a,n:
"<cin>>a>>n;
for(inti=0;i{
m=10*m+a;
sum=sum+m;
}
cout<<"a+aa+...+aaaa.a="<return0;
}
P.83-14.arcsin(x)写成级数形式为:
x+xW/(2*3)+1*3*xA5/(2*4*5)+...+
(2n)限八(2n+1)/(2A(2n)*(n!
^2*(2n+1))
用户输入x,利用该式,计算反正弦函数的值。
结束条件可以设为|u|<£,其中u为通项。
#include
#include
usingnamespacestd;
intmain()
{
doublearcsin_x;
doubleu;
doubleu1=1;
doubleu3=1;
doubleu4=1;
doubleu5=1;
intn=1;
doublex;
cout<<"请输入待计算的x:
"<cin>>x;
u=x;
doubleu2=x;
arcsin_x=u;
while(fabs(u)>10e-7)
{
u1=u1*2*n;
u2=u2*x*x;
u3=u3*4;
u4=u4*(n+1)*(n+1);
u5=u5+2;u=u1*u2/(u3*u4*u5);arcsin_x=arcsin_x+u;
}cout<<"arcsin_x="<}
P.83-15.猴子吃桃问题。
第一天,猴子摘下一堆桃子,当天吃了一半,感觉没吃够,又吃了一个。
以后每天如此,到第10天的时候,发现只剩下一个桃子了。
编程计算第一天猴子摘了多少桃子。
#includeusingnamespacestd;
intmain()
{
intn=9;
intsum=1;
for(inti=0;i{sum=(sum+1)*2;
}
cout«"猴子第一天摘桃子数为:
"vvsumvvendl;
return0;
}
P.83-16.斐波那契数列
F0=0
F1=1
Fn=Fn-1+Fn-2编程计算斐波那契数列的第n项和前n项的和,其中,n>=0,n由用户输入#includeusingnamespacestd;
intmain()
{
intf0=0;
intf1=1;
intfn;
intsum=1;
intn;
cout«"请输入该数列项数n:
"<>n;
switch(n)
{
case0:
cout<<"f("<case1:
cout<<"f("<default:
for(inti=2;i<=n;i++)
{fn=f0+f1;sum=sum+fn;f0=f1;f1=fn;
}cout<<"f("<}return0;
}P.83-16.谁是小偷。
某小区发生盗窃案,有四个人嫌疑最大,警察找来讯问,A说:
不是我。
B说:
是C。
C说:
是D。
D说:
他冤枉人。
四人中有一人说了假话,请编程分析谁是小偷?
#include
usingnamespacestd;
intmain()
{
inta,b,c,d;
for(a=1;a>=0;a--)
for(b=1;b>=0;b--)for(c=1;c>=0;c--)
for(d=1;d>=0;d--)if((a==0)+(c==1)+(d==1)+(d==0)==3&&a+b+c+d==1){
cout«"A"<<(a?
"":
"不")<<"是。
"<"":
"不")<<"是。
"<"":
"不")<<"是。
"<"":
"不")<<"是。
"<return0;
}
附件题1
分别使用以下两种公式计算圆周率n的值:
⑴n/4=
1/1-1/3+1/5-1/7+...+(-1)八(n-1)*1/(2n-1)
(2)n/2=
2/1*2/3*4/3*4/5*6/5*6/7*8/7*8/9*...*(2n)/(2n-1)*(2n)/(2n+1)精度为10的-8次方。
#include
#include
usingnamespacestd;
intmain()
{
doublen=2.0;
doublem=1.0;
doublel=2.0;
intk;
ints;
inti=1;
cout.setf(ios:
:
fixed);
cout.precision(8);
while((1/m)>10e-8){i=-i;
k=1+i;
s=1-i;
n=n+k;
m=m+s;
l=(l*n)/m;
}
cout<<"pi="<<2*l<return0;
}
附件题2
对100~1000000000之间的数进行如下处理
(1)找出全部回文数。
比如:
121、1441、...
(2)找出全部不是7的倍数和不带7的数。
(3)找出全部的平方数。
比如:
121=11*11、10000=100*100、
#include〃找回文数
#include
usingnamespacestd;
intmain()
intn,m,d,h;
for(n=100;n<=1000000000;n++)
{h=n;
m=0;
while(h!
=0)
{d=h%10;
m=m*10+d;
h=h/10;}if(m==n)
{
cout<}
}
return0;
}
#include//找平方数#includeusingnamespacestd;
intmain()
{
intn,m;for(n=1;n<=100;n++)
{
m=n*n;if(m>=100&&m<=10000){
cout<}
return0;
}
#include〃找出全部不是7的倍数和不带7的数
#include
usingnamespacestd;
intmain()
{
intn,m;
intok;
for(n=100;n<=1000000000;n++)
{
m=n;
if(m%7!
=0)
{
ok=1;
while(m!
=0)
{
if(m%10==7)
{
ok=0;
break;
}
else
{
m=m/10;
}
}
if(ok)cout<}
}
return0;
附件题3正整数的素因子分解。
比如:
60=2*2*3*5#includeusingnamespacestd;voidmain(){
longN,N2,i,t,count;
while
(1){
coutvv'请输入一个正整数N:
";
cin>>N;N2=N;
count=0;t=N/2;
for(i=2;i<=t;i++){
if(N%i==0){
if(++count==1)cout<<"N="<if(N!
=1)coutvv"x";
i--;
}
if(N==1)break;
}
if(count==O)coutv"v