第三章
//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小时内删除。