return 0;
}
11. 题目:
找出1-200之间的完数及个数 n(完数是一个数的因
子之和是这个数本身。
例如6=1+2+3)。
#include
int main()
{
cout<<"1~200内的完数:
"<int i,j,n=0;
for(i=2;i<=200;i++)
{
int sum=0;
for(j=1;j
{
if(i%j==0)
sum+=j;
}
if(sum==i)
{
cout<
n++;
}
}
cout<cout<return 0;
}
12. 题目:
编写一个C++函数max,输入参数为3个实数,输出为其中的最大数。
#include
float main()
{
double a,b,c,x;
cout<<"输入三个实数:
a,b,c"<cin>>a>>b>>c;
if(a
x=b;
else
x=a;
if(xx=c;
cout<<"最大的为:
"<return 0;
}
13. 题目:
编写一个函数:
int isSushu(int n),判断n是否是素数。
#include
#include
int isSushu(int n);
int main()
{
int x,n;
cout<<"请输入一个正整数:
n"<cin>>n;
x=isSushu(n);
if(x==1)
cout<<"是素数"<else
cout<<"不是素数"<return 0;
}
int isSushu(int n)
{
int s,i,flag=0;
if(n>=2)
{
s=int(sqrt(n));
for(i=2;i<=s;i++)
{
if(n%i==0)
break;
}
if(i>s)
flag=1;
}
return(flag);
}
///14. 题目:
从键盘中分别给两个整形变量x和y赋值为20和10,通过编程使它们的值交换,然后输出交换以后的 x和y的值。
15. 题目:
利用switch语句将输入的百分制成绩转换成相应的等级。
成绩 等级
100~90 优秀
89~80 良好
79~70 中等
69~60 及格
59~0 不及格
#include
int main()
{
double score;
cout<<"请输入百分制分数:
"<cin>>score;
if(0<=score&&score<=100)
switch(int(score)/10)
{
case 10:
case 9:
cout<break;
case 8:
cout<break;
case 7:
cout<break;
case 6:
cout<break;
default:
cout<}
else
cout<<"分数有误"<return 0;
}
16. 题目:
输入一个自然数num,将该数的每一位数字按反序输出 digital。
例如:
输入123456,输出654321。
(要求输入123456)
#include
main()
{
unsigned long int num,digital=0,i=1;
cout<<"输入一个自然数:
"<cin>>num;
while(num/i!
=0)
{
digital=((num/i)%10);
i*=10;
cout<}
cout<return 0;
}
17. 题目:
利用循环语句输出“九九乘法表”。
#include
int main()
{
cout<<"\t\t\t\t九九乘法表"<cout<<"\t\t\t\t----------"<int i,j;
for(i=1;i<=9;i++)
{for(j=1;j<=9;j++)
cout<
cout<}
return 0;
}
18. 题目:
利用for循环和break语句实现:
从键盘上输入若
干个(小于10个)正整数,直到输入负数为止,
计算并输出已输入的正整数之和。
(要求输入:
10, 3, 9, 27, 12, -5)
#include
int main()
{
cout<<"请输入:
10, 3, 9, 27, 12, -5。
数字之间以空格分开"<int i,a,add=0;
for(i=1;i<=10;i++)
{
cin>>a;
if(a>=0)
add+=a;
else
break;
}
cout<<"所有正整数之和为:
"<return 0;
}
19. 题目:
利用for循环和continue语句实现:
输出100~200之间所有能够被8整除的所有整数。
#include
int main()
{
int i;
cout<<"100~200之间能被8整除的说有整数:
"<for(i=100;i<=200;i++)
{
if(i%8==0)
cout<
else
continue;
}
cout<return 0;
}
20. 题目:
输入x,计算sin(x)。
计算公式如图片1所示.
当第n项的绝对值小于1e-8时结束,x为弧度,并调用
标准函数sin(x)与求出值进行比较。
(要求输入3.14)
#include
#include
int main ()
{
int n=1;
double x,sinx=0,t;
cout<<"输入x的值(弧度制):
"<cin>>x;
t=x;
while(fabs(t)>=1e-8) //fabs :
取绝对值。
{
sinx+=t;
t=-t*(x*x)/((n+1)*(n+2));
n+=2;
}
cout<<"编程求得sin("<cout<<"调用标准函数求得sin("<return 0;
}
21. 题目:
从键盘上输入a、b、c,计算并输出一元二次方程的解。
#include
#include
int main()
{
double a,b,c,x1,x2,k;
cout<<"输入二元方程系数:
a,b,c"<cin>>a>>b>>c;
k=b*b-4*a*c;
if(k>=0)
{
x1=(-b+sqrt(k))/(2*a);
x2=(-b-sqrt(k))/(2*a);
cout<<"x1="<}
else
cout<<"方程无解"<return 0;
}
22. 题目:
某百货公司为了促销,采用购物打折的优惠办法。
每位顾客一次购物:
(1) 在1000元及以上者,按九折优惠
(2) 在2000元及以上者,按八折优惠
(3) 在3000元及以上者,按七折优惠
(4) 在4000元及以上者,按六折优惠
#include
int main()
{
int money;
cout<<"输入购物金额(整数)(元):
"<cin>>money;
if(money>=0)
switch(money/1000)
{
case 0:
cout<<"不优惠"<<"\t"<<"金额为:
"<break;
case 1:
cout<<"九折优惠"<<"\t"<<"金额为:
"<break;
case 2:
cout<<"八折优惠"<<"\t"<<"金额为:
"<break;
case 3:
cout<<"七折优惠"<<"\t"<<"金额为:
"<break;
case 4:
cout<<"六折优惠"<<"\t"<<"金额为:
"<break;
default:
cout<<"六折优惠"<<"\t"<<"金额为:
"<}
else
cout<<"数据有误"<cout<return 0;
}
23. 题目:
计算PI的近似值,直到最后一项的绝对值小于如图片1
所示的值为止,近似公式如图片2所示. (此处暂时按10-8计算)
#include
#include
int main()
{
int n=1,i=1;
double t=1,PI=0;
while(fabs(t)>=1e-8)
{
i=-i;
n+=2;
PI+=4*t;
t=i*(double
(1)/n);
}
cout<<"PI="<return 0;
}
24. 题目:
根据输入的总行数,输出三角星号。
如果输入5,则输出如下图形:
*
***
*****
*******
*********
(请输入5)
#include
int main()
{
int n,i,j;
cout<<"请输入星形三角行数:
"<cin>>n;
for(i=1;i<=n;i++)
{
for(j=1;j<=n+i-1;j++)
{
if(j<=n-i)
cout<<" ";
else
cout<<"*";
}
cout<}
return 0;
}
25. 题目:
鸡、兔共40只,有脚88只,问鸡、兔各多少只。
求解的结果分别存放在变量ji和tu中。
#include
int main()
{
int ji,tu;
cout<<"鸡的个数\t"<<"兔的个数\t"<for(ji=1;ji<=40;ji++)
for(tu=1;tu<=40;tu++)
{
if(ji+tu==40&&ji*2+tu*4==88)
cout<
}
return 0;
}
26. 题目:
输入一个年份,判断该年是否是闰年。
#include
int main()
{
int year;
cout<<"输入一个年份:
"<cin>>year;
if((year%4==0&&year%100!
=0)||year%400==0)
cout<<"该年为闰年"<else
cout<<"该年不是闰年"<return 0;
}
27. 题目:
根据x的值,计算分段函数y的值。
y的计算公式见课本P40例题2.5所示。
#include
#include
int main()
{
double x,y;
cout<<"输入x:
"<cin>>x;
if(x<0)
y=fabs(x);
else if(x<10)
y=exp(x)*sin(x);
else if(x<20)
y=pow(x,3);
else
y=(3+2*x)*log(x);
cout<<"y="<return 0;
}
28. 题目:
从键盘上输入一个三角形中三条边a、b、c的长度, 请利用下列公式求出三角形的面积。
(注意:
要求程序保证输入的三角形的三条边中的任意两条边大于第三条边)
求面积公式如图片1所示,其中s=(a+b+c)/2。
#include
#include
int main()
{
double a,b,c,s,area;
cout<<"输入三角形三条边:
"<cin>>a>>b>>c;
if(a+b>c&&b+c>a&&a+c>b)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"三角形面积area="<
}
else
cout<<"三角形不存在"<return 0;
}
29. 题目:
某定义一个C++函数double fac(int),实现求一个正整数的阶乘。
#include
double fac(int n);
int main()
{
int n;
cout<<"输入正整数n:
"<cin>>n;
cout<return 0;
}
double fac(int k)
{
int j,s=1;
for(j=1;j<=k;j++)
s*=j;
return (s);
}
30. 题目:
编程求用户输入的两个双精度实数x与y的和(存放在变量he中)、积(存放在变量ji中)。
#include
int main()
{
double x,y,he,ji;
cout<<"请输入两个数x,y:
"<cin>>x>>y;
he=x+y;
ji=x*y;
cout<<"x,y的和(he)为"<cout<<"x,y的积(ji)为"<return 0;
}