计算机C++常用基本程序Word文件下载.docx
《计算机C++常用基本程序Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机C++常用基本程序Word文件下载.docx(29页珍藏版)》请在冰点文库上搜索。
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<
wei<
"
wan<
qian<
bai<
shi<
ge<
if(wei==4)
if(wei==3)
if(wei==2)
if(wei==1)
return0;
}
二、素数的判定
1、如果数值n除了1和它自己外,不能被其他数整除,则说明n为素数。
cmath>
inti,n,k;
cin>
k=sqrt(n);
for(i=2;
i<
=k;
i++)
if(n%i==0)break;
if(i>
k)
n<
是素数"
else
cout<
不是素数"
return0;
对于一个数的各个除数来说,到它的平方根位置即可找出所有的除数,那么循环可以进行到这个数的平方根位置是就可以停止。
再利用循环从1到平方根位置的数进行顺次整除进行判断。
2、利用函数完成
voidp(intn)
intk,i;
k=sqrt(n);
for(i=2;
if(n%i==0)
break;
k)
cout<
else
cout<
intn;
p(n);
return0;
三、奇偶数的判定利用条件判断进行判定,即if语句,
if(n%2==0)则为偶数,否则为奇数
inta;
a;
if(a%2==0)
yes"
else
no"
四、数的大小的比较
(一)对三个数的排序比较
1、利用if语句实现,利用中间变量进行比较。
inta,b,c,max;
cout<
请输入三个整数a,b,c:
;
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*/
if(b>
c)
max=b;
max="
max<
进行两轮比较后,即可比较完
2、#include<
inta,b,c,max;
max=a;
max=b;
if(c>
max)
max=c;
3、利用条件表达式比较
inta,b,c,max,min;
min=a<
b?
a:
b;
min=min<
c?
min:
max=a>
max=max>
max:
endl<
min="
min<
(二)对多个数的比较
利用循环语句,对每个数进行顺次比较,利用中间变量,将每个数和中间变量进行比较,如果符合条件,那就刷新值,如果不符合条件,就进行下面的比较。
inttemp,max=0,min,i=0;
/*首先对max进行赋初值为零,然后要和下面的输入值进
行比较,不过不赋初值,就没法和下面的值进行比较*/
Pleaseinputscores:
temp;
min=temp;
/*这个语句的作用是将输入值赋值给min,因为数都是大于0的,
如果赋初值为0,那么将对最小值无法进行比较,但不影响最大值*/
for(;
)
if(temp<
0)break;
/*进行条件判断,如果值为负数的时候,
结束整个循环,负责继续执行下面的语句*/
if(temp>
max)max=temp;
/*进行条件判断,如果值大于max,就将中间变量的值赋值给max*/
min)min=temp;
/*然后输入另一个数,进行下一轮的比较*/
'
\t'
五、数的求和,平均值问题
1、一般的输入数据求和
inta,sum=0,i;
while(a>
0)
{
sum+=a;
cin>
}
sum<
2、求1+2+3+…+n;
intn,sum,i;
/*计算1+2+3+...+n的值*/
sum=0;
1+2+3+...+n的值为:
for(i=1;
=n;
sum+=i;
3、1+3+5+…+99的值
4、2+4+6+…+100的值
5、求1+2+3+…n的和不大于1000的最大自然数n
intn,s=0;
for(n=1;
s<
=1000;
n++)
s+=n;
n="
6、
n从键盘输入
/*计算sqrt
(1)+sqrt
(2)+...+sqrt(n)的值*/
intn,i;
doublesum=0;
sum+=sqrt(n);
sum="
7、
doublesum=0,s=0;
s+=sqrt(n);
sum+=s;
8、求出分数序列2/1+3/2+5/3+8/5+13/8…,的前20项的和。
/*计算2/1+3/2+5/3+...的前20项的值*/
inti,t;
doublesum=0,z,a=2,b=1;
=20;
sum+=a/b;
t=a;
a+=b;
b=t;
9、求出分数序列2/4+4/7+6/10+8/13+10/16+…的前20项的和
/*计算2/4+4/7+6/10+8/13...*/
inti,n;
doublesum,t;
for(i=1,sum=0;
t=(2.0*i)/(3.0*i+1);
sum+=t;
2/4+4/7+6/10+8/13...的值为:
10、求n!
inti,n,sum=1
;
sum*=i;
11、1!
+2!
+…+n!
,n从键盘输入
inti,n,sum=0,t=1;
t*=i;
sum+=t;
12、求s=a+aa+…+a…a,共n个,其中n和a从键盘输入
ints=0,i,n,k,a,z,sum;
请输入a:
请输入n:
for(k=1;
k<
k++)
for(i=0;
k;
{
z=a*pow(10,i);
s+=z;
}
s="
13、对三个数求平均数
floata,b,c,ave=0;
ave=(a+b+c)/3;
ave<
14、对多个数的求和
floatx,ave=0,i;
x;
ave=x;
x>
=0;
ave+=x;
ave/=i;
六、大小写字母的转换
charch;
请输入一个字母ch:
ch;
if(ch>
='
a'
&
ch<
z'
ch+=-32;
ch="
ch=(ch>
)?
ch-32:
七、输入一行字符,分别统计其中英文字母,数字,空格,其他字符的个数。
charc;
intletters=0,space=0,digit=0,other=0;
enteroneline:
:
while((c=getchar())!
\n'
)//getchar的作用是输入一个字符。
{if(c>
c<
||c>
A'
Z'
letters++;
elseif(c=='
'
space++;
elseif(c>
0'
9'
digit++;
other++;
letter:
letters<
space:
space<
digit:
digit<
other:
other<
八、求水仙花数,即一个三位数,各位的数字的立方和等于该数本身。
//要使用数学库函数,加入此命令。
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.
m="
九、打印输出如下“*”金字塔。
*
***
*****
*******
*********
/*打印金字塔*/
inti,j;
=5;
for(j=1;
j<
=5-i;
j++)
"
=2*i-1;
*"
十、打印出九乘九乘法表
=9;
{for(j=1;
=i;
="
i*j<
十一、输入两个正整数,求它们的最大公约数和最小公倍数。
intp,r,n,m,temp;
Pleaseentertwonumbersn,m:
n>
m;
if(n<
m)
{temp=n;
n=m;
m=temp;
p=m*n;
while(m!
=0)
{r=n%m;
m=r;
最大公约数为="
最小公倍数为="
p/n<
十二、将一个一位数组逆序输出。
inti,a[10]={1,2,3,4,5,6,7,8,9,10},j,t;
原数组中的数据:
\n"
for(i=0;
10;
a[i]<
=4;
{j=9-i;
t=a[i];
a[i]=a[j];
a[j]=t;
逆序存放后的数据:
十三、求Fibonacci数列
inti,f[20]={1,1};
20;
f[i]=f[i-2]+f[i-1];
f[i];
if((i+1)%5==0)
十四、冒泡排序
inta[21],i,j,t;
Input20numbers:
a[i];
for(j=1;
for(i=1;
=20-j;
if(a[i]>
a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
Thesortednumbers:
for(i=1;
if(i%5==0)
cout<
return0;
十五、选择排序
inta[20],i,j,t,p;
19;
p=i;
for(j=i+1;
if(a[j]<
a[p])
p=j;
if(p!
=i)
{t=a[i];
a[i]=a[p];
a[p]=t;
for(i=0;
十六、
intx,y;
if(x<
1)y=x;
elseif(x<
10)y=2*x-1;
elsey=3*x-11;
y="
y<
十七、给出一个百分制成绩,要求输出等级。
成绩分为5个等级,分别为A(90——100),B(80——89),C(70——89),D(60——69),E(0——59)