c/c++练习–06

  • Post author:
  • Post category:其他


c/c++练习–06



  • 习题来源:C语言经典编程282例

51. 满足abcd=(ab+cd)^2

#include<iostream>
#include<cmath>
using namespace std;

int main(void){
    int a,b;

    for(int i=1000;i<10000;i++){
        a = i/100;
        b = i%100;
        if((a+b)*(a+b)==i)
            cout<<i<<endl;
    }
    return(0);
}

52. 判断整数倍

编程判断输入的数是否既是5又是7的整数倍,如果是输出YES,否则NO

#include<iostream>
#include<cmath>
using namespace std;

int main(void){
    int a;

    cout<<"Please input a number:";
    cin >>a;
    if(a%5==0 && a%7==0)
        cout<<"Yes";
    else    cout<<"NO";

    return(0);
}

53. 阶梯问题

在你面前有一条长长的阶梯,如果每步跨2阶,那么最后剩1阶;如果每步跨3阶,那么最后剩2阶,若果每步跨5阶,那么最后剩4阶,如果每步跨6阶,那么最后剩5阶,只有当每步跨7阶时,最后才正好走完,一阶也不剩。求所有三位阶梯数。

#include <iostream>
using namespace std;    

int main(void){

    for(int i=100;i<1000;i++)
        if(i%7==0&&i%2==1 && i%3==2 && i%5==4 && i%6==5 ) 
            cout<< i<<endl;
    return(0);
}

54. 乘积大于和的数

求10~100之间满足各位上数的乘积大于各位上数的和的所有数,并将结果以5个每行的形式输出。

#include<iostream>
#include<cmath>
using namespace std;

int main(void){
    int a,b,num=-1;

    for(int i=10;i<100;i++){
        a=i/10;
        b=i%10;
        if(a+b<a*b){
            cout<<i<<'\t';
            num++;
            if(num%5 ==4)
                cout<<endl;
        }       
    }

    return(0);
}

55. 求各位数之和为5的数

求100~1000之间满足各位数之和为5的所有数,并将结果以5个每行的形式输出。

#include<iostream>
#include<cmath>
using namespace std;

int main(void){
    int a,b,num=-1,c;

    for(int i=100;i<1000;i++){
        a=i/100;
        b=i%10;
        c = i/10%10;
        if(a+b+c ==5){
            cout<<i<<'\t';
            num++;
            if(num%5 ==4)
                cout<<endl;
        }       
    }

    return(0);
}

56.输出相对小数

#include <iostream>
using namespace std;    

int main(void){
    double  num; 
    cin>>num;   
    cout<< ceil(num)<<endl;
    return(0);
}

57. 将小写字母转换成大写字母

#include <iostream>
#include <cctype>
using namespace std;    

int main(void){
    char        ch;
    cin>>ch;    
    cout<<(char)(ch-32)<<endl;
    return(0);
}

58. 水池注水问题

有4个水渠(A,B,C,D)向一个水池注水,如果单开A,3天可以注满,如果单开B,1天可以注满,如果单开C,四天可以注满,如果单开D,5天可以注满,若A,B,C,D同时注水,问要几天。

#include <iostream>
#include <cctype>
using namespace std;    

int main(void){
    double  a=1.0/3,b=1.0,c=1.0/4,d=1.0/5;
    cout<<1.0/(a+b+c+d)<<endl;
    return(0);
}

59. 用*输出图案

使用*输出MR的图案

#include <iostream>
using namespace std;    

int main(void){

    cout<<"*   * ***"<<endl;
    cout<<"** ** *  *"<<endl;
    cout<<"* * * ***"<<endl;
    cout<<"*   * * *"<<endl;
    cout<<"*   * *  *"<<endl;
    return(0);
}

60. 输出一个字母的前驱字符

#include <iostream>
using namespace std;    

int main(void){
    char        c;
    cin>>c;
    cout<<c<<"的前驱字符为"<<(char)(c-1)<<endl;

    return(0);
}



版权声明:本文为HorizonVim原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。