50道C/C++编程练习题
1、输入3个数,求最大值
int main()
{ int a,b,c,m;
cin>>a>>b>>c;
m=a;
if(b>m) m=b;
if(c>m) m=c;
cout<<m;
}
2、编程序,求方程ax2+bx+c=0的根
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a,b,c,d,x1,x2;
cin>>a>>b>>c;
if(a==0)
if(b==0) cout<<"error\n";
else cout<< "x="<<-c/b<<endl;
else
{ d=b*b-4*a*c;
if(fabs(d)<=1e-6)
cout<<"x1=x2="<<-b/(2*a)<<endl;
else if(d>1e-6)
{ x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
cout<<"x1="<<x1<<",x2="<<x2<<endl;
}
else cout<<"方程无实根\n";
}
}
3、输入一个成绩,打印相应的等级
int main()
{ int a;
cin >> a;
if(a>=90) cout<<"A";
else if(a>=80) cout<<"B";
else if(a>=70) cout<<"C";
else if(a>=60) cout<<"D";
else cout<<"E";
}
4、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。
int main()
{
double a,b,c;
cin>>a>>b>>c;
if(a+b>c && b+c>a && c+a>b)
cout<<"可以构成三角形";
else
cout<<"不可以构成三角形";
}
5、输入20个数,求其最大、最小和平均值
int main()
{
int i;
int a,max,min,s;
cin>>a;
max=min=a; s=a;
for(i=1;i<20;i++)
{ cin>>a;
if(a>max) max=a;
if(a<min) min=a;
s=s+a;
}
cout<<max<<","<<min<<","<<s/20.0<<endl;
}
6、输入若干个数,设输入的第一个数为后面要输入的数的个数,求平均值及最大值。
int main()
{
int a,m,s=0;
cin>>n;
cin>>a;
m=a; s=a;
for(int i=1; i<n; i++)
{ cin>>a;
s +=a;
if(a>m) m=a;
}
cout<<"平均值:"<<(double)s/n<<",最大值:"<<m<<endl;
}
7、输入若干个数,输入-999表示结束,求平均值及最大值。
#include<iostream>
#include<iomanip>
#include<cstdlib>
using namespace std;
int main()
{ int n, count, sum, max;
double ave;
count = 0;
cin >> n;
sum = 0; max = n;
while( n != -999 )
{ sum = sum + n;
if( n > max ) max = n;
count++;
cin >> n;
}
if( count != 0 )
{ ave=static_cast<double>(sum) / count;
cout<<setiosflags(ios::fixed) <<setprecision(2);
cout<<"平均值为:"<<ave<<" 最大值为:"<<max<<endl;
}
}
8、求和 s=1*1 + 2*2 + 3*3 +...+ 100*100
int main()
{ int i,t;
double s=0;
for(i=1; i<=100; i++)
{ t=i*i;
s=s+t;
}
}
9、印度国王的奖励,求和 s=20 + 21 + 22 +...+ 263
int main()
{ double t=1,s=0;
for(int i=0; i<=63; i++)
{ s=s+t;
t=2*t;
}
cout<<s/1.4e8<<endl;
}
10、求和 s=1! + 2! + 3! +...+ 10!
int main()
{ int i;
long t,s;
t=1; s=0;
for(i=1; i<=10; i++)
{ t=t*i;
s=s+t;
}
}
11、求 e=1 + 1/1! + 1/2! + 1/3! + ...
int main()
{ int i;
double t,e;
i=1; t=1; e=1;
while(t>=1e-7)
{ t=t/i;
e=e+t;
i=i+1;
}
cout<<e;
}
12、求PI值,PI/4 = 1 - 1/3 + 1/5 - 1/7 + ...
int main()
{ int i,k;
double pi,t;
i=1; t=1; pi=0; k=1;
while(fabs(t)>1e-8)
{ pi=pi+t;
i=i+2;
k=-k;
t=double(k)/i;
}
cout<<4*pi;
}
13、求PI值,PI/2 = 1 + 1/3 + 1/3*2/5 + 1/3*2/5*3/7 + ...
#include<iostream>
#include<cstdlib>
int main()
{
int i,j;
double pi,t;
i=0; j=1; t=1; pi=0;
while(t>1e-18)
{ pi=pi+t;
i=i+1;
j=j+2;
t=t*i/j;
}
cout<<setprecision(17)<<2*pi;
}
14、输入20个数,统计其中正数、负数和零的个数。
int main()
{
int a,n=0,m=0,s=0;
for(int i=1; i<=20; i++)
{ cin >> a;
if(a>0) n++;
else if(a<0) m++;
else s++;
}
cout<<n<<" "<<m<<" "<<s;
}
15、输入若干个整数,计算其中的奇数之和与偶数之和,假设输入0表示结束。
int main()
{ int a,n=0,m=0;
cin>>a;
while(a!=0)
{ if(a%2 == 0) n += a;;
else m += a;
cin >> a;
}
cout<<n<<" "<<m;
}c编程网站
16、写一函数,计算x的y次方(假设x、y都为正整数)。
int pow(int x, int y)
{ int s=1;
for(int i=1; i<=y; i++)
s = s * x;
return s;
}
17、求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
int main()
{ int i,a,b,c;
for(i=100;i<=999;i++)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论