return0;
}
循环11:
特殊数值
已知四位数3025有一个特殊性质:
它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数(55*55=3025).试编一程序打印所有具有这种性质的四位数.
输入无输出202530259801
#include
usingnamespacestd;
intmain()
{
inti,a,b;
for(i=1000;i<=9999;i++)
{
a=i/100;
b=i%100;
if((a+b)*(a+b)==i)
cout<
}
return0;
}
循环12:
征税
税务部门征收所的税,规定如下:
1)收入在1000元以内(含1000),免征;
2)收入在1000~3000元以内(含3000),纳税额为收入的3%;
3)收入超过3000~5000元以内(含5000),纳税为收入的4%;
4)当收入超过5000元时,纳税为收入的6%。
请根据以上关系,输入收入m,输出应缴纳的税收tax。
输入:
第一个整数n表示后续有n个收入
输出:
每个收入对应的纳税额
输入4900200040006000
输出060160360
#include
usingnamespacestd;
intmain()
{
doublem,tax;;inti,n;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>m;
if(m<=1000)
tax=0;
elseif(m<=3000)
tax=m*0.03;
elseif(m<=5000)
tax=m*0.04;
else
tax=m*0.06;
cout<}
return0;
}
循环13:
因数个数
给定一个正整数n,求它的因数个数。
如6的因数为1、2、3、6,则因数个数为4。
输入12输出6
测试
输入30输出8
#include
usingnamespacestd;
intmain()
{
intn,i,count=0;
cin>>n;
for(i=1;i<=n;i++)
{
if(n%i==0)
count++;
}
cout<return0;
}
循环14:
最大公约数
键盘输入两个正整数m,n,求出他们的最大公约数。
输入2015输出5
测试
输入3280输出16
#include
usingnamespacestd;
intmain()
{
intm,n,i;
cin>>m>>n;
for(i=m;i>=1;i--)
{
if(m%i==0&&n%i==0)
break;
}
cout<
return0;
}
循环15:
斐波那契数列
判断第n个斐波那契数列能否被3整除给定斐波那契数列为:
F(0)=1,F
(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),编写一个程序,输入n(>=0),如果F(n)能被3整除则输出一个“yes”,否则输出一个“no”。
输入8输出yes
输入6输出no
测试
输入12输出yes
#include
usingnamespacestd;
intmain()
{
intn,F0=1,F1=1,F,i;
cin>>n;
for(i=2;i<=n;i++)
{
F=F0+F1;
F0=F1;
F1=F;}
if(F%3==0)
cout<<"yes"<else
cout<<"no"<return0;
}
循环16:
计算奇偶数
求N(<=100)个数中奇数的平方和与偶数的立方和。
注意:
输入格式为,第一个数为N,后面接着N个数。
输出的平方和与立方和以空格隔开
输入3589输出106512
测试
输入558910输出1061512
#include
usingnamespacestd;
intmain()
{
inti,N,n,a=0,b=0;
cin>>N;
for(i=1;i<=N;i++)
{
cin>>n;
if(n%2==0)
a+=n*n*n;
else
b+=n*n;
}
cout<
return0;
}
循环17:
数位计算
对于输入的一个数字,请计算它的各个位上的数字为偶数的和。
例如:
1234,结果为6=2+4。
输入4321输出6
输入51289输出10
测试
输入54893输出12
#include
usingnamespacestd;
intmain()
{
intn,x,s=0;
cin>>n;
while(n)
{
x=n%10;
if(x%2==0)
s+=x;
n=n/10;
}
cout<
return0;
}
循环18:
数根
对于一个正整数n,我们将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根。
例如:
考虑24,2+4=6,6就是24的数根。
考虑39,3+9=12,1+2=3,3就是39的数根。
请编写程序,计算n的数根。
输入189输出9
测试
输入8943输出6
#include
usingnamespacestd;
intmain()
{
intn,s=0,t;
cin>>n;
t=n;
while(t>=10)
{
s=0;
while(t)
{s+=t%10;
t=t/10;
}
t=s;}
cout<
return0;
}
循环19:
平均成绩
假设有一个班级,n名同学选修了C++语言程序设计,要求统计该门课的平均成绩。
输入格式:
第一个数为学生人数n,后面接着n个成绩,输出平均成绩。
输入:
58090889670输出84.8
#include
usingnamespacestd;
intmain()
{
intn,i,a,s=0;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a;
s+=a;
}
cout<return0;
}
循环20:
幂函数
输入一个正整数repeat(0读入1个正实数x和1个正整数n(n<=50),计算并输出x的n次幂。
输入3253453输出3281125
#include
usingnamespacestd;
intmain()
{
intrepeat,i,x,n,j,k;
cin>>repeat;
for(i=1;i<=repeat;i++)
{
cin>>x>>n;k=1;
for(j=1;j<=n;j++)
k=k*x;
cout<return0;
}
/**************************
循环21:
计数
输入一组整数,以0结束,统计数据个数(不含0)及最大值。
输入1234564350
输出7456
#include
usingnamespacestd;
intmain()
{
inta,max=0,i=0;
cin>>a;
while(a!
=0)
{
i++;
if(a>max)
max=a;
cin>>a;}
cout<
return0;
}
循环22:
素数
输入一个正整数n,输出[2,n]之间所有的素数及素数个数。
输入10
输出
23574
#include
usingnamespacestd;
intmain()
{
intn,i,j,s;
s=0;
cin>>n;
for(i=2;i<=n;i++)
{for(j=2;j<=i;j++)
if(i%j==0)
break;
if(j==i)
{s++;
cout<
}
}
cout<return0;
}
循环23:
完数
输入一个正整数n,输出[1,n]之间的所有完数。
完数的定义:
除自身外的因子之和等于它本身。
例如:
6=1+2+3,因此6是完数。
输入1000
输出628496
#include
usingnamespacestd;
intmain()
{
intn,i,j,s;
cin>>n;
for(i=1;i<=n;i++)
{
s=0;
for(j=1;j
{if(i%j==0)
s+=j;}
if(s==i)
cout<
}
return0;
}