c源代码Word文件下载.docx
《c源代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《c源代码Word文件下载.docx(91页珍藏版)》请在冰豆网上搜索。
Add.
No.28WestXianningRoad
anChina,710049
Tel.86-29-82668888
***********************************#include<
usingnamespacestd;
charname[41];
intb;
cout<
pleaseinputthenaofthiscard:
endl;
name;
pleaseinputthenumberofthisperson"
b;
"
name<
anJiaotongUniversity"
Add."
No.28WestXianningRoad"
anChina,710049"
Tel."
b<
***********************************、'
P18-7输入n,计算y=(1+1/nFn的函数值。
#inelude<
cmath>
intn;
doublex,y;
请输入待计算的正整数n:
n;
x=(double)1/n+1;
y=pow(x,n);
v"
y=(1+1/"
v<
n<
<
)人"
v"
="
vvy;
P18-10.输入x,a,
计算y=loga(x+V(xA2+1))的函数值。
intmian()
doublex,a,y,z;
请输入待计算的x和a:
«
x>
a;
z=x*x+1.0;
z=sqrt(z)+x;
if(a!
=1.0&
&
a>
0)
y=log(z)/log(a);
cout<
y=log"
a<
("
x<
+V("
A2+1))"
y<
else
输入数值不可计算"
第二次
P54-2.温度转换。
输入华氏温度,用下列公式将其转换为摄氏温度并输出。
C=5/9(F-32)
#include<
doublef;
doublec;
请输入要转化的华氏温度:
f;
c=(5.0/9)*(f-32);
相应的摄氏温度为:
vvcvvendl;
P55-3.输入x,编程试求函数
y=sin(xA2)/(1-cosx)的值。
请输入要计算的X的值:
x;
y=sin(x*x)/(1-cos(x));
coutvv"
y=sin(x*x)/(1-cos(x))="
vvyvvendl;
P55-5.编程实现,用户从键盘输入3个整数,计算并打印这三个数的和、平均值及平均值的四舍五入整数值。
#includeviostream>
inta,b,c,sum;
doubled;
//平均值doublef;
inte;
请依次输入要计算的三个整数:
b>
c;
sum=a+b+c;
d=(double)sum/3;
e=(int)d;
f=d-e;
if(f>
0.5){e=e+1;
这三个数的和为:
vvsumvvendl;
平均值为:
d<
平均值的四舍五入为:
e<
P55-7.小写转大写。
用户输入小写字母,程序输出对应的大写字母。
chara;
请输入小写字母:
a=a-32;
P55-8.打印ASCII码。
输入一个字符(可能为字母、数字或标点符号等),在一行中打印该字符及该字符的ASCII的十进制、十六进制形式和八进制形式,数据之间用'
t'
分隔。
提示,
输出八进制数使用cout<
oct<
v;
的格式,其中v是待输出的整型变量#include<
intb;
请输入字符:
b='
a'
;
\t"
该字符的ASCII的十进制:
bvv"
十六进制:
vvhexvvbvv"
八进制:
woctwbwendl;
P55-9用户输入不超过255的四个数,将这四个数顺序保存在一个整型变量的4个字节中,输出这个整型变量值的十进制和十六进制形式。
intx;
inta,b,c,d;
请输入四个小于255的整数:
c>
d;
x=a;
x=x<
8;
x=x+b;
x=x+c;
x=x+d;
该整形变量的十位制为:
vvxvvendl;
该整形变量的十六位制为:
vvhexvvxvvendl;
第三次
P.54~55
4.C++中的库函数sin(x),cos(x)等三角函数,自变量的单位为弧度。
请编写程序,用户输入角度,计算其正弦、余弦、正切(tan)和余切的函数值并显示出来。
要求如果用到n,请将其定义为符号常量。
constdoublepi=3.1415926;
doubleangle;
请输入需要计算的角度:
angle;
angle=angle*pi/180;
sin("
angle<
)="
sin(angle)<
cos("
cos(angle)<
tan("
sin(angle)/cos(angle)<
cot("
cos(angle)/sin(angle)<
6.找零钱。
为顾客找零钱时,希望选用的纸币张数最少。
例如73元,希望零钱的面值为五十元1张,二十元1张,一元3张。
设零钱面值有五十元、二十元、十元、五元和一元,请编写程序,用户输入100以下的数,计算找给顾客的各面值的纸币张数。
并在程序中想一个验证结果是否正确的办法。
intm50,m20,m10,m1;
请输入客户付款面额:
m50=n/50;
n=n%50;
m20=n/20;
n=n%20;
m10=n/10;
m1=n%10;
需找还客户"
50元面额"
vvm50vv"
张"
20元面额"
vvm20vv"
10元面额"
vvmlOvv"
1元面额"
m1<
'
11.用户以字符形式输入4个数字字符,将其组成一个4位的整数。
例如,用户输入:
2011,输出结果为2011。
注意,输入的四个数字是字符型,用四个字符型变量存储,而2011是由它们构造出的一个四位整数,用一个整型变量表示。
charc1,c2,c3,c4;
请输入四个整数:
c1>
c2>
c3>
c4;
n=(c1-48)*1000+(c2-48)*100+(c3-48)*10+c4-48;
P.81~84
1.编程求三个数的最大数。
doublea,b,c,max,min;
请输入待比较大小的三个数:
max=a;
min=b;
if(avb)
{min=a;
max=b;
};
if(maxvc)
{max=c;
if(min>
c)
{min=c;
}coutvv"
max="
vvmaxvv"
vv"
min="
vvminvvendl;
2.编程计算下列分段函数的值:
y=xA2,当=0时。
请输入带计算的X:
if(x<
{y=x*x;
{y=x*x*x+2*x*x+x;
}cout<
y="
第四次
P.81-3.编程计算1+2+3+...+n,n由用户输入。
intsum=0;
请输入待计算的正整数n:
for(inti=1;
i<
=n;
i++)
{sum=sum+i;
1+2+3+...+"
sum<
P.82-10.输入n(n<
13),计算1!
+2!
+3!
+4!
+...+n!
intm;
intn=1;
请输入待计算的n:
m;
for(inti=1;
=m;
n=n*i;
sum=sum+n;
1!
+..+"
!
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。
inta;
intm=0;
请依次输入待计算的正整数a,n:
for(inti=0;
m=10*m+a;
sum=sum+m;
a+aa+...+aaaa.a="
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为通项。
doublearcsin_x;
doubleu;
doubleu1=1;
doubleu3=1;
doubleu4=1;
doubleu5=1;
doublex;
请输入待计算的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;
arcsin_x="
arcsin_x<
P.83-15.猴子吃桃问题。
第一天,猴子摘下一堆桃子,当天吃了一半,感觉没吃够,又吃了一个。
以后每天如此,到第10天的时候,发现只剩下一个桃子了。
编程计算第一天猴子摘了多少桃子。
intn=9;
intsum=1;
{sum=(sum+1)*2;
猴子第一天摘桃子数为:
P.83-16.斐波那契数列
F0=0
F1=1
Fn=Fn-1+Fn-2编程计算斐波那契数列的第n项和前n项的和,其中,n>
=0,n由用户输入#include<
intf0=0;
intf1=1;
intfn;
请输入该数列项数n:
switch(n)
case0:
f("
f0<
sum("
case1:
f0+f1<
default:
for(inti=2;
{fn=f0+f1;
sum=sum+fn;
f0=f1;
f1=fn;
fn<
}return0;
}P.83-16.谁是小偷。
某小区发生盗窃案,有四个人嫌疑最大,警察找来讯问,A说:
不是我。
B说:
是C。
C说:
是D。
D说:
他冤枉人。
四人中有一人说了假话,请编程分析谁是小偷?
#include<
for(a=1;
=0;
a--)
for(b=1;
b--)for(c=1;
c--)
for(d=1;
d>
d--)if((a==0)+(c==1)+(d==1)+(d==0)==3&
a+b+c+d==1){
A"
(a?
:
不"
)<
是。
cout«
B"
vv(b?
C"
vv(c?
D"
(d?
附件题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次方。
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;
pi="
2*l<
附件题2
对100~1000000000之间的数进行如下处理
(1)找出全部回文数。
比如:
121、1441、...
(2)找出全部不是7的倍数和不带7的数。
(3)找出全部的平方数。
121=11*11、10000=100*100、
#include<
〃找回文数
intn,m,d,h;
for(n=100;
=1000000000;
n++)
{h=n;
m=0;
while(h!
=0)
{d=h%10;
m=m*10+d;
h=h/10;
}if(m==n)
\n'
//找平方数#include<
intn,m;
for(n=1;
=100;
m=n*n;
if(m>
=100&
m<
=10000){
〃找出全部不是7的倍数和不带7的数
intn,m;
intok;
for(n=100;
n<
=1000000000;
m=n;
if(m%7!
=0)
ok=1;
while(m!
if(m%10==7)
ok=0;
break;
m=m/10;
if(ok)cout<
n<
'
附件题3正整数的素因子分解。
60=2*2*3*5#include<
voidmain(){
longN,N2,i,t,count;
while
(1){
coutvv'
请输入一个正整数N:
N;
N2=N;
count=0;
t=N/2;
for(i=2;
=t;
i++){
if(N%i==0){
if(++count==1)cout<
N="
N<
i;
N/=i;
if(N!
=1)coutvv"
x"
i--;
if(N==1)break;
if(count==O)coutv<
N2vv是质数。
c