C++编程实例Word文件下载.docx
- 文档编号:5923156
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:50
- 大小:25.56KB
C++编程实例Word文件下载.docx
《C++编程实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++编程实例Word文件下载.docx(50页珍藏版)》请在冰点文库上搜索。
i++)
if(m%i==0)
prime=false;
break;
if(prime)
cout<
setw(5)<
m;
n=n+1;
if(n%10==0)
return0;
例3.15
译密码
{charc;
while((c=getchar())!
='
\n'
)
if((c>
a'
&
c<
z'
)||(c>
A'
Z'
))
c=c+4;
if(c>
'
+4||c>
c=c-26;
cout<
c;
cout<
习题:
16、统计个数
intmain()
intletters=0,space=0,digit=0,other=0;
"
enteroneline:
:
while((c=getchar())!
if(c>
&
c<
||c>
letters++;
elseif(c=='
'
space++;
elseif(c>
0'
9'
digit++;
else
other++;
letter:
letters<
space:
space<
digit:
digit<
other:
other<
17、求Sn=a+aa+aaa+……+aa…a(n个a)的值,n由键盘输入。
#include<
inta,n,i=1,sn=0,tn=0;
a,n=:
;
cin>
>
a>
n;
while(i<
=n)
tn=tn+a;
//赋值后的tn为i个a组成数的值
sn=sn+tn;
//赋值后的sn为多项式前i项之和
a=a*10;
++i;
a+aa+aaa+...="
sn<
18、.求1!
+2!
……+20!
、
{floats=0,t=1;
intn;
for(n=1;
n<
n++)
t=t*n;
//求n!
s=s+t;
//将各项累加
1!
+2!
+...+20!
="
s<
19、求“水仙花数”例153=13+33+53
{inti,j,k,n;
narcissusnumbersare:
for(n=100;
1000;
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
"
20、找出1000之内所有的完数例如6的因子是1.2.3而6=1+2+3,所以6是完数
intmain()
{intm,s,i;
for(m=2;
m++)
{s=0;
for(i=1;
if((m%i)==0)s=s+i;
if(s==m)
{cout<
isa完数"
itsfactorsare:
if(m%i==0)cout<
21、2/1,3/2,5/3,8/5,13/8,21/13,…前20项之和
{inti,t,n=20;
doublea=2,b=1,s=0;
=n;
{s=s+a/b;
t=a;
a=a+b;
//将前一项分子与分母之和作为下一项的分子
b=t;
//将前一项的分子作为下一项的分母
sum="
24、输出图形
{inti,k;
for(i=0;
=3;
i++)//输出上面4行*号
{for(k=0;
k<
=2*i;
k++)
*"
//输出*号
//输出完一行*号后换行
=2;
i++)//输出下面3行*号
=4-2*i;
//输出完一行*号后换行
1、求最大公约数和最小公倍数,用主函数条用两个函数
#include<
inthcf(int,int);
intlcd(int,int,int);
intu,v,h,l;
u>
v;
h=hcf(u,v);
H.C.F="
h<
l=lcd(u,v,h);
L.C.D="
l<
inthcf(intu,intv)
intt,r;
if(v>
u)
{t=u;
u=v;
v=t;
while((r=u%v)!
=0)
{u=v;
v=r;
return(v);
intlcd(intu,intv,inth)
{return(u*v/h);
3、判别素数的函数
intprime(int);
/*函数原型声明*/
inputaninteger:
if(prime(n))
isaprime."
isnotaprime."
intprime(intn)
intflag=1,i;
for(i=2;
n/2&
flag==1;
if(n%i==0)
flag=0;
return(flag);
4、.求a!
+b!
+c!
的值,用一个函数fac(n)求n!
。
4
{intfac(int);
inta,b,c,sum=0;
entera,b,c:
b>
sum=sum+fac(a)+fac(b)+fac(c);
a<
!
+"
b<
sum<
intfac(intn)
intf=1;
for(inti=1;
f=f*i;
returnf;
7、.验证哥德巴赫猜想:
一个不小于6的偶数可以表示为两个素数之和。
7
{voidgodbaha(int);
inputn:
godbaha(n);
voidgodbaha(intn)
{intprime(int);
inta,b;
for(a=3;
=n/2;
a=a+2)
{if(prime(a))
{b=n-a;
if(prime(b))
intprime(intm)
{inti,k=sqrt(m);
if(m%i==0)break;
if(i>
k)return1;
elsereturn0;
11、用递归方法求f(n)=12+22+……+n2
intf(int);
intn,s;
inputthenumbern:
s=f(n);
Theresultis"
}
intf(intn)
if(n==1)
return1;
return(n*n+f(n-1));
例5.2用数组Fibonacci数列
{inti;
intf[20]={1,1};
20;
f[i]=f[i-2]+f[i-1];
for(i=0;
{if(i%5==0)cout<
setw(8)<
f[i];
例5.3用冒泡法对10个数排序
inta[10];
inti,j,t;
input10numbers:
10;
i++)//输入a[0]~a[9]
cin>
a[i];
for(j=0;
j<
9;
j++)//共进行9趟比较
for(i=0;
9-j;
i++)//在每趟中要进行(10-j)次两两比较
if(a[i]>
a[i+1])//如果前面的数大于后面的数
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}//交换两个数的位置,使小数上浮
thesortednumbers:
i++)//输出10个数
a[i]<
}例5.4将二维数组行列元素互换,存到另一个数组中
a=123
56b=14
25
36
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
arraya:
=1;
{for(j=0;
j++)
{cout<
a[i][j]<
b[j][i]=a[i][j];
}
arrayb:
“<
b[i][j]<
例5.5求3×
4二维数组中最大元素值及其行列号
{
inti,j,row=0,colum=0,max;
inta[3][4]={{5,12,23,56},{19,28,37,46},{-12,-34,6,8}};
max=a[0][0];
//使max开始时取a[0][0]的值
i++)//从第0行~第2行
for(j=0;
j++)//从第0列~第3列
if(a[i][j]>
max)//如果某元素大于max
{max=a[i][j];
//max将取该元素的值
row=i;
//记下该元素的行号i
colum=j;
//记下该元素的列号j
}
cout<
max="
max<
row="
row<
colum="
colum<
return0;
例5.7用选择法对数组中10个整数按由小到大排序
voidselect_sort(intarray[],intn);
//函数声明
inta[10],i;
entertheoriginlarray:
for(i=0;
i++)//输入10个数
select_sort(a,10);
//函数调用,数组名作实参
thesortedarray:
i++)//输出10个已排好序的数
voidselect_sort(intarray[],intn)//形参array是数组名
inti,j,k,t;
n-1;
k=i;
for(j=i+1;
j++)
if(array[j]<
array[k])k=j;
t=array[k];
array[k]=array[i];
array[i]=t;
6、打印出杨辉三角(要求打印出10行)
{constintn=11;
inti,j,a[n][n];
{a[i][i]=1;
a[i][1]=1;
for(i=3;
for(j=2;
=i-1;
a[i][j]=a[i-1][j-1]+a[i-1][j];
{for(j=1;
=i;
setw(5)<
C语言部分
1.编程计算1,1+2,1+2+3,…,1+2+3+…+n各项值的积
答案:
voidmain()
inti,n,mul=1,sum=0;
Pleaseinputn:
sum+=i;
mul*=sum;
Themultipleis:
mul<
2.编写重载函数Max可分别求取两个整数,三个字符,两个浮点型数,三个双精度数的最大值。
intmax(inti,intj)
j)
returni;
else
returnj;
charmax(charc1,charc2,charc3)
charch;
if(c1>
c2)
ch=c1;
ch=c2;
if(c3>
ch)
ch=c3;
returnch;
floatmax(floatx,floaty)
if(x>
y)
returnx;
returny;
doublemax(doublex1,doublex2,doublex3)
doubley;
if(x1>
x2)
y=x1;
y=x2;
if(x3>
y=x3;
returny;
3.请编写一个函数intfind(chars[],chart[]),该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值);
否则返回-1。
注意:
用数组方式及两重循环来实现该函数。
intfind(chars[],chart[])
inti,j,slen,tlen;
slen=strlen(s);
tlen=strlen(t);
i=0;
j=0;
slen&
j<
tlen)
if(s[i]==t[j])
{
i++;
j++;
}
else
i=i-j+1;
j=0;
if(j>
=tlen)
returni-tlen+1;
return-1;
4.写一程序,将字符串a的所有字符传送到字符串b中,要求每传送3个字符后放一个空格,例如,字符串a为”abcdefg”,则b为”abcdegg”。
stdio.h>
string.h>
#defineN40
voidfun(chars[],chart[])
inti=0,j=0;
while(s[i])
t[j]=s[i];
i++;
j++;
if((i)%3==0)
t[j]='
j++;
t[j]='
\0'
main()
chara[N],b[N];
printf("
请输入原始字符串a:
);
gets(a);
fun(a,b);
加入空格后的字符串b:
puts(b);
5.编程判断一个数是否为素数。
math.h>
inti,flag=1;
=int(sqrt(m));
if(m%i==0)
{flag=0;
returnflag;
intmain(void)
请输入一个整数:
是素数!
不是素数!
6.编程打印九九乘法表:
1×
1=1
2=22×
2=4
3=32×
3=63×
3=9
….
inti,j;
=9;
for(j=1;
printf("
%1d*%1d=%2d"
j,i,i*j);
\n"
7.请编写一个程序,程序的功能是打印以下图案。
*
***
*****
*******
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程 实例