第三章
//1.根据下面函数表达式编写一个程序,实现输入x的值后,能计算并输出相应的函数值y:
#include<iostream.h>
void main(void)
{
double x,y;
cout<<"请输入x: ";
cin>>x;
if(x<0)
y=x*x;
else if(x>=0&&x<1)
y=2.5*x-1;
else
y=3*x+1;
cout<<"x="<<x<<"\ty="<<y<<endl;
}
//2.设计一个程序,要求:对从键盘输入的一个不多于5位的正整数,能输出它的位数并输出它的各位数字之和。
#include<iostream.h>
void main(void)
{
int x,count=0,sum=0;
cout<<"请输入x: ";
cin>>x;
cout<<x<<"是";
while(x)
{
sum=sum+x%10;
x=x/10;
count++;
}
cout<<count<<"位数, 其位数之和为: "<<sum<<endl;
}
//编程计算s=1! +2! +3! +...+ n! ,n的值从键盘输入,要求输出n和s的值。
#include<iostream.h>
void main(void)
{
int n;
double t=1, s=0;
cout<<"请输入n: ";
cin>>n;
for(int i=1;i<=n;i++)
{
t=t*i;
s=s+t;
}
cout<<"n="<<n<<"\ts="<<s<<endl;
}
//编程求 之值,其中 是一个数字,n表示 的项数和其最后一项的位数。例如:2+22+222+2222+22222(此时n=5)。
#include<iostream.h>
void main(void)
{
int n,a;
double s=0,t=0;
cout<<"请输入a和n: ";
cin>>a>>n;
for(int i=1;i<=n;i++)
{
t=t*10+a;
s=s+t;
}
cout<<"s="<<s<<endl;
}
//5.利用公式:编程计算 的近似值,要求计算到最后一项的绝对值小于 为止。
#include<iostream.h>
#include<math.h>
void main(void)
{
int n=1,flag=1;
double pi=1,t=1;
while(fabs(t)>1e-5)
{
flag=-flag;
t=flag*1.0/(2*n+1);
pi=pi+t;
n++;
}
cout<<"pi="<<4*pi<<endl;
}
//6.编程求出所有的"水仙花数"。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为 。
#include<iostream.h>
void main(void)
{
int a,b,c;
for(int i=100;i<1000;i++)
{
a=i/100;
b=i/10%10;
字符串拷贝函数strcpy作用 c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
cout<<i<<endl;
}
}
//7.编程求满足以下条件的三位整数n,它除以11所得到的商等于n的各位数字的平方和,且其中至少有两位数字相同。例如,131除以11的商为11,各位数字的平方和为11,所以它是满足条件的三位数。
#include<iostream.h>
void main(void)
{
int a,b,c;
for(int i=100;i<1000;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i/11==a*a+b*b+c*c&&(a==b||b==c||a==c))
cout<<i<<endl;
}
}
//8.设计一个求两正整数m和n的最大公约数的程序。m和n的值由键盘输入。
#include<iostream.h>
void main(void)
{
int m,n;
cout<<"请输入两个整数: ";
cin>>m>>n;
for(int i=m;i>=1;i--)
if(m%i==0&&n%i==0)
break;
cout<<m<<"和"<<n<<"的公约数是: "<<i<<endl;
}
第四章
//1. 设计一个程序,要求输入三个整数,能求出其中的最大数并输出。程序中必须用函数实现求两数中大数的功能
#include<iostream.h>
int max(int a,int b)
{
return a>b?a:b;
}
void main(void)
{
int a,b,c,maxnumber;
cout<<"请输入三个整数: ";
cin>>a>>b>>c;
maxnumber=max(a,b);
maxnumber=max(maxnumber,c);
cout<<a<<","<<b<<","<<c<<"中的最大数是: "<<maxnumber<<endl;
}
//2. 设计一个程序,求出100~200之间的所有素数,要求每行输出5个素数。判断一个整数是否为素数用一个函数来实现。
#include<iostream.h>
int prime(int x)
{
for(int i=2;i<=x/2;i++)
if(x%i==0)
return 0;
return 1;
}
void main(void)
{
int k=0;
for(int i=100;i<=200;i++)
if(prime(i))
{
cout<<i<<'\t';
k++;
if(k%5==0)
cout<<endl;
}
}
//3.回文数是指其各位数字左右对称的整数,例如12321是回文数。定义一个判断回文数的函数,并打印1000~2000之间的所有回文数。
#include<iostream.h>
int fun(int x)
{
int s=0;
int i=x;
while(i)
{
s=s*10+i%10;
i=i/10;
}
if(s==x)
return 1;
else return 0;
}
void main(void)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论