C++常用基本程序.docx

上传人:b****6 文档编号:7871805 上传时间:2023-01-26 格式:DOCX 页数:25 大小:28.93KB
下载 相关 举报
C++常用基本程序.docx_第1页
第1页 / 共25页
C++常用基本程序.docx_第2页
第2页 / 共25页
C++常用基本程序.docx_第3页
第3页 / 共25页
C++常用基本程序.docx_第4页
第4页 / 共25页
C++常用基本程序.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C++常用基本程序.docx

《C++常用基本程序.docx》由会员分享,可在线阅读,更多相关《C++常用基本程序.docx(25页珍藏版)》请在冰豆网上搜索。

C++常用基本程序.docx

C++常用基本程序

C++常用基本程序

一、数的各位表示方法

1、两位数的各位表示

个位数的表示方法:

a%10=x;例:

45%10=5;

十位数的表示方法:

a/10=x;例:

45/10=4;

2、三位数的各位表示

个位数的表示方法:

a%10=x;例:

456%10=6;

十位数的表示方法:

a%100/10=x;例:

456%100/10=5;

百位数的表示方法:

a/100=x;例:

456/100=4;

3、通式:

k=a/10(n-1)%10

A表示要求的数字,n表示要求的个数,k表示该位值。

4、给出一个不大于5位的正整数,求出它是几位数及各位上的数字。

#include

usingnamespacestd;

intmain()

{

longintn;

intwei,wan,qian,bai,shi,ge;

cin>>n;

if(n>99999)cout<<"error!

"<

elseif(n>9999)wei=5;

elseif(n>999)wei=4;

elseif(n>99)wei=3;

elseif(n>9)wei=2;

elsewei=1;

wan=n/10000;

qian=n/1000%10;

bai=n/100%10;

shi=n/10%10;

ge=n%10;

if(wei==5)

cout<

if(wei==4)

cout<

if(wei==3)

cout<

if(wei==2)

cout<

if(wei==1)

cout<

return0;

}

二、素数的判定

1、如果数值n除了1和它自己外,不能被其他数整除,则说明n为素数。

#include

#include

usingnamespacestd;

intmain()

{

inti,n,k;

cin>>n;

k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0)break;

if(i>k)

cout<

else

cout<

return0;

}

对于一个数的各个除数来说,到它的平方根位置即可找出所有的除数,那么循环可以进行到这个数的平方根位置是就可以停止。

再利用循环从1到平方根位置的数进行顺次整除进行判断。

2、利用函数完成

#include

#include

usingnamespacestd;

voidp(intn)

{

intk,i;

k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0)

break;

if(i>k)

cout<<"是素数"<

else

cout<<"不是素数"<

}

intmain()

{

intn;

cin>>n;

p(n);

return0;

}

三、奇偶数的判定利用条件判断进行判定,即if语句,

if(n%2==0)则为偶数,否则为奇数

#include

usingnamespacestd;

intmain()

{

inta;

cin>>a;

if(a%2==0)

cout<<"yes"<

else

cout<<"no"<

return0;

}

四、数的大小的比较

(一)对三个数的排序比较

1、利用if语句实现,利用中间变量进行比较。

#include

usingnamespacestd;

intmain()

{

inta,b,c,max;

cout<<"请输入三个整数a,b,c:

";

cin>>a>>b>>c;

if(a>b)

if(a>c)/*对a和c进行比较*/

max=a;/*如果if语句的条件正确,执行这个语句,即如果a>c,将a的值赋值给max*/

else

max=c;/*如果if语句的条件不正确,执行这个语句,即如果a<=c,将c的值赋值给max*/

else

if(b>c)

max=b;

else

max=c;

cout<<"max="<

return0;

}

进行两轮比较后,即可比较完

2、#include

usingnamespacestd;

intmain()

{

inta,b,c,max;

cin>>a>>b>>c;

if(a>b)

max=a;

else

max=b;

if(c>max)

max=c;

cout<<"max="<

return0;

}

3、利用条件表达式比较

#include

usingnamespacestd;

intmain()

{

inta,b,c,max,min;

cin>>a>>b>>c;

min=a

a:

b;

min=min

min:

c;

max=a>b?

a:

b;

max=max>c?

max:

c;

cout<<"max="<

return0;

}

(二)对多个数的比较

利用循环语句,对每个数进行顺次比较,利用中间变量,将每个数和中间变量进行比较,如果符合条件,那就刷新值,如果不符合条件,就进行下面的比较。

#include

usingnamespacestd;

intmain()

{

inttemp,max=0,min,i=0;/*首先对max进行赋初值为零,然后要和下面的输入值进

行比较,不过不赋初值,就没法和下面的值进行比较*/

cout<<"Pleaseinputscores:

";

cin>>temp;

min=temp;/*这个语句的作用是将输入值赋值给min,因为数都是大于0的,

如果赋初值为0,那么将对最小值无法进行比较,但不影响最大值*/

for(;;)

{

if(temp<0)break;/*进行条件判断,如果值为负数的时候,

结束整个循环,负责继续执行下面的语句*/

if(temp>max)max=temp;/*进行条件判断,如果值大于max,就将中间变量的值赋值给max*/

if(temp

cin>>temp;/*然后输入另一个数,进行下一轮的比较*/

}

cout<<"max="<

return0;

}

五、数的求和,平均值问题

1、一般的输入数据求和

#include

usingnamespacestd;

intmain()

{

inta,sum=0,i;

cin>>a;

while(a>0)

{

sum+=a;

cin>>a;

}

cout<

return0;

}

2、求1+2+3+…+n;

#include

usingnamespacestd;

intmain()

{

intn,sum,i;/*计算1+2+3+...+n的值*/

sum=0;

cin>>n;

cout<<"1+2+3+...+n的值为:

";

for(i=1;i<=n;i++)

sum+=i;

cout<

return0;

}

3、1+3+5+…+99的值

#include

usingnamespacestd;

intmain()

{

intn,sum,i;/*计算1+2+3+...+n的值*/

sum=0;

cin>>n;

cout<<"1+2+3+...+n的值为:

";

for(i=1;i<=n;i++)

sum+=i;

cout<

return0;

}

4、2+4+6+…+100的值

#include

usingnamespacestd;

intmain()

{

intn,sum,i;/*计算1+2+3+...+n的值*/

sum=0;

cin>>n;

cout<<"1+2+3+...+n的值为:

";

for(i=1;i<=n;i++)

sum+=i;

cout<

return0;

}

5、求1+2+3+…n的和不大于1000的最大自然数n

#include

usingnamespacestd;

intmain()

{

intn,s=0;

for(n=1;s<=1000;n++)

s+=n;

cout<<"n="<

return0;

}

6、

n从键盘输入

#include/*计算sqrt

(1)+sqrt

(2)+...+sqrt(n)的值*/

#include

usingnamespacestd;

intmain()

{

intn,i;

doublesum=0;

cin>>n;

for(i=1;i<=n;i++)

sum+=sqrt(n);

cout<<"sum="<

return0;

}

7、

#include

#include

usingnamespacestd;

intmain()

{

intn,i;

doublesum=0,s=0;

cin>>n;

for(i=1;i<=n;i++)

{

s+=sqrt(n);

sum+=s;

}

cout<<"sum="<

return0;

}

8、求出分数序列2/1+3/2+5/3+8/5+13/8…,的前20项的和。

#include/*计算2/1+3/2+5/3+...的前20项的值*/

usingnamespacestd;

intmain()

{

inti,t;

doublesum=0,z,a=2,b=1;

for(i=1;i<=20;i++)

{

sum+=a/b;

t=a;

a+=b;

b=t;

}

cout<<"sum="<

return0;

}

9、求出分数序列2/4+4/7+6/10+8/13+10/16+…的前20项的和

#include/*计算2/4+4/7+6/10+8/13...*/

usingnamespacestd;

intmain()

{

inti,n;

doublesum,t;

cin>>n;

for(i=1,sum=0;i<=n;i++)

{

t=(2.0*i)/(3.0*i+1);

sum+=t;

}

cout<<"2/4+4/7+6/10+8/13...的值为:

"<

return0;

}

10、求n!

#include

usingnamespacestd;

intmain()

{

inti,n,sum=1

;

cin>>n;

for(i=1;i<=n;i++)

sum*=i;

cout<

return0;

}

11、1!

+2!

+…+n!

,n从键盘输入

#include

usingnamespacestd;

intmain()

{

inti,n,sum=0,t=1;

cin>>n;

for(i=1;i<=n;i++)

{

t*=i;

sum+=t;

}

cout<

return0;

}

12、求s=a+aa+…+a…a,共n个,其中n和a从键盘输入

#include

#include

usingnamespacestd;

intmain()

{

ints=0,i,n,k,a,z,sum;

cout<<"请输入a:

";

cin>>a;

cout<<"请输入n:

";

cin>>n;

for(k=1;k<=n;k++)

{

for(i=0;i

{

z=a*pow(10,i);

s+=z;

}

sum+=s;

}

cout<<"s="<

return0;

}

13、对三个数求平均数

#include

usingnamespacestd;

intmain()

{

floata,b,c,ave=0;

cin>>a>>b>>c;

ave=(a+b+c)/3;

cout<

return0;

}

14、对多个数的求和

#include

usingnamespacestd;

intmain()

{

floatx,ave=0,i;

cin>>x;

ave=x;

for(i=1;x>=0;i++)

{

cin>>x;

ave+=x;

}

ave/=i;

cout<

return0;

}

六、大小写字母的转换

#include

usingnamespacestd;

intmain()

{

charch;

cout<<"请输入一个字母ch:

";

cin>>ch;

if(ch>='a'&&ch<='z')

ch+=-32;

cout<<"ch="<

return0;

}

#include

usingnamespacestd;

intmain()

{

charch;

cout<<"请输入一个字母ch:

";

cin>>ch;

ch=(ch>='a'&&ch<='z')?

ch-32:

ch;

cout<<"ch="<

return0;

}

七、输入一行字符,分别统计其中英文字母,数字,空格,其他字符的个数。

#include

usingnamespacestd;

intmain()

{

charc;

intletters=0,space=0,digit=0,other=0;

cout<<"enteroneline:

:

"<

while((c=getchar())!

='\n')//getchar的作用是输入一个字符。

{if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++;

elseif(c=='')

space++;

elseif(c>='0'&&c<='9')

digit++;

else

other++;

}

cout<<"letter:

"<

"<

"<

"<

return0;

}

八、求水仙花数,即一个三位数,各位的数字的立方和等于该数本身。

#include

#include//要使用数学库函数,加入此命令。

usingnamespacestd;

intmain()

{

intm,a,b,c;

for(m=100;m<=999;m++)

{

a=m/100;/*a为三位数百位数的值*/

b=m/10%10;/*b为三位数十位数的值*/

c=m%10;/*c为三位数个位数的值*/

if(m==pow(a,3)+pow(b,3)+pow(c,3))//pow(x,y)的作用是求x^y.

cout<<"m="<

}

return0;

}

九、打印输出如下“*”金字塔。

*

***

*****

*******

*********

#include/*打印金字塔*/

usingnamespacestd;

intmain()

{

inti,j;

for(i=1;i<=5;i++)

{

for(j=1;j<=5-i;j++)

cout<<"";

for(j=1;j<=2*i-1;j++)

cout<<"*";

cout<

}

return0;

}

十、打印出九乘九乘法表

#include

usingnamespacestd;

intmain()

{

inti,j;

for(i=1;i<=9;i++)

{for(j=1;j<=i;j++)

cout<

cout<

return0;

}

十一、输入两个正整数,求它们的最大公约数和最小公倍数。

#include

usingnamespacestd;

intmain()

{

intp,r,n,m,temp;

cout<<"Pleaseentertwonumbersn,m:

";

cin>>n>>m;

if(n

{temp=n;n=m;m=temp;}

p=m*n;

while(m!

=0)

{r=n%m;n=m;m=r;}

cout<<"最大公约数为="<

cout<<"最小公倍数为="<

return0;

}

十二、将一个一位数组逆序输出。

#include

usingnamespacestd;

intmain()

{

inti,a[10]={1,2,3,4,5,6,7,8,9,10},j,t;

cout<<"原数组中的数据:

\n";

for(i=0;i<10;i++)

cout<

cout<

for(i=0;i<=4;i++)

{j=9-i;

t=a[i];a[i]=a[j];a[j]=t;

}

cout<<"逆序存放后的数据:

"<

for(i=0;i<10;i++)

cout<

cout<

return0;

}

十三、求Fibonacci数列

#include

usingnamespacestd;

intmain()

{

inti,f[20]={1,1};

for(i=2;i<20;i++)

f[i]=f[i-2]+f[i-1];

for(i=0;i<20;i++)

{

cout<<'\t'<

if((i+1)%5==0)

cout<

}

return0;

}

十四、冒泡排序

#include

usingnamespacestd;

intmain()

{

inta[21],i,j,t;

cout<<"Input20numbers:

"<

for(i=1;i<=20;i++)

cin>>a[i];

for(j=1;j<=20;j++)

for(i=1;i<=20-j;i++)

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

cout<

\n";

for(i=1;i<=20;i++)

{

cout<

if(i%5==0)

cout<

}

return0;

}

十五、选择排序

#include

usingnamespacestd;

intmain()

{

inta[20],i,j,t,p;

cout<<"Input20numbers:

"<

for(i=0;i<20;i++)

cin>>a[i];

for(i=0;i<19;i++)

{

p=i;

for(j=i+1;j<20;j++)

if(a[j]

p=j;

if(p!

=i)

{t=a[i];

a[i]=a[p];

a[p]=t;

}

}

cout<<"Thesortednumbers:

\n";

for(i=0;i<20;i++)

cout<

cout<

return0;

}

十六、

#include

usingnamespacestd;

intmain()

{

intx,y;

cin>>x;

if(x<1)y=x;

elseif(x<10)y=2*x-1;

elsey=3*x-11;

cout<<"y="<

return0;

}

十七、给出一个百分制成绩,要求输出等级。

成绩分为5个等级,分别为A(90——100),B(80——89),C(70——89),D(60——69),E(0——59)

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

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1