C++编程实例Word文件下载.docx

上传人:b****1 文档编号:5923156 上传时间:2023-05-05 格式:DOCX 页数:50 大小:25.56KB
下载 相关 举报
C++编程实例Word文件下载.docx_第1页
第1页 / 共50页
C++编程实例Word文件下载.docx_第2页
第2页 / 共50页
C++编程实例Word文件下载.docx_第3页
第3页 / 共50页
C++编程实例Word文件下载.docx_第4页
第4页 / 共50页
C++编程实例Word文件下载.docx_第5页
第5页 / 共50页
C++编程实例Word文件下载.docx_第6页
第6页 / 共50页
C++编程实例Word文件下载.docx_第7页
第7页 / 共50页
C++编程实例Word文件下载.docx_第8页
第8页 / 共50页
C++编程实例Word文件下载.docx_第9页
第9页 / 共50页
C++编程实例Word文件下载.docx_第10页
第10页 / 共50页
C++编程实例Word文件下载.docx_第11页
第11页 / 共50页
C++编程实例Word文件下载.docx_第12页
第12页 / 共50页
C++编程实例Word文件下载.docx_第13页
第13页 / 共50页
C++编程实例Word文件下载.docx_第14页
第14页 / 共50页
C++编程实例Word文件下载.docx_第15页
第15页 / 共50页
C++编程实例Word文件下载.docx_第16页
第16页 / 共50页
C++编程实例Word文件下载.docx_第17页
第17页 / 共50页
C++编程实例Word文件下载.docx_第18页
第18页 / 共50页
C++编程实例Word文件下载.docx_第19页
第19页 / 共50页
C++编程实例Word文件下载.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++编程实例Word文件下载.docx

《C++编程实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++编程实例Word文件下载.docx(50页珍藏版)》请在冰点文库上搜索。

C++编程实例Word文件下载.docx

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

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.请编写一个程序,程序的功能是打印以下图案。

*

***

*****

*******

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2