zoukankan      html  css  js  c++  java
  • C入门题目

    37. 反转一个3位整数

    反转一个只有3位数的整数。

    样例

    样例 1:

    输入: number = 123
    输出: 321
    

    样例 2:

    输入: number = 900
    输出: 9
    

    注意事项

    你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。

    class Solution {
    public:
        /**
         * @param number: A 3-digit number.
         * @return: Reversed number.
         */
        int reverseInteger(int number) {
            // write your code here
            int a=0,b=0,c=0,reverse=0;
            a = number/100; //百位
            b = (number-a*100)/10; //十位
            c = number-a*100-b*10; //个位
            if(a!=0)
            reverse += a;
            if(b!=0)
            reverse += b*10;
            if(c!=0)
            reverse += c*100;
            return reverse;
            }
    };

    问题 1043: [编程入门]三个数字的排序

    题目描述
    输入三个整数,按由小到大的顺序输出。
     
    输入
    三个整数
     
    输出
    由小到大输出成一行,每个数字后面跟一个空格
     
    样例输入
    2 3 1
    样例输出
    1 2 3 

    #include<iostream>
    using namespace std;
    int main()
    {
        int a,b,c,t;
        cin>>a>>b>>c;
        if(a>b)
        {
            t=b;
            b=a;
            a=t;
        }
        if(a>c)
        {
            t=a;
            a=c;
            c=t;
        }
        if(b>c)
        {
            t=b;
            b=c;
            c=t;
        }
        cout<<a<<" "<<b<<" "<<c;    
        return 0;
    }

    问题 1008: [编程入门]成绩评定

    时间限制: 1Sec 内存限制: 128MB 提交: 15819 解决: 9512

    题目描述
    给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
    输入
    一个整数0-100以内
    输出
    一个字符,表示成绩等级
    样例输入
    90
    样例输出
    A
    
    
    #include<iostream>
    using namespace std;
    int main()
    {
        int grade;
        cin>>grade;
        if(grade>=90)
        cout<<"A";
        else if(grade>=80)
        cout<<"B";
        else if(grade>=70)
        cout<<"C";
        else if(grade>=60)
        cout<<"D";
        else
        cout<<"E";
        return 0;
    }

    问题 1009: [编程入门]数字的处理与判断

    时间限制: 1Sec 内存限制: 128MB 提交: 16583 解决: 7765

    题目描述
    给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
    输入
    一个不大于5位的数字
    输出
    三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
    样例输入
    12345
    样例输出
    5
    1 2 3 4 5
    54321
    #include <iostream>
    #include <string>
    #include <algorithm>
    using namespace std;
    int main()
    {
        string s;
        int t;
        cin>>s;
        cout<<s.length()<<endl;
        for(int i=0;i<s.length();i++)
        {
            cout<<s[i];
            if(i!=4)
            cout<<" ";
        }
        cout<<endl;
        reverse(s.begin(),s.end());
        cout<<s;
        return 0;
    }

    问题 1119: 【C语言训练】"水仙花数"问题1

    时间限制: 1Sec 内存限制: 128MB 提交: 3112 解决: 2017

    题目描述

    判断一个数是否为"水仙花数",所谓"水仙花数"是指这样的一个数:首先是一个三位数,其次,其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.

    输入

    一个三位数

    输出

    1或者0(1代表此数为水仙花数,0代表此数不是水仙花数)

    样例输入
    371
    样例输出
    1
    #include <iostream>
    using namespace std;
    int main()
    {
        int a, b, c, num;
        cin >> num;
        a = num / 100;
        b = num / 10 % 10;
        c = num % 10;
        if (num == (a * a * a + b * b * b + c * c * c))
            cout << 1;
        else
            cout << 0;
        return 0;
    }

    问题 1120: 【C语言训练】"水仙花数"问题2

    时间限制: 1Sec 内存限制: 128MB 提交: 2167 解决: 1555

    题目描述

    输出所有的"水仙花数".所谓"水仙花数"是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.

    输入
    输出

    输出所有的"水仙花数"(从小到大的顺序输出,一行一个)

    样例输入
    样例输出
    #include<iostream>
    using namespace std;
    int main()
    {
        int a,b,c;
        for(int num=100;num<1000;num++)
        {
            a = num / 100; 
            b = num / 10 % 10;
            c = num % 10;
            if((a*a*a+b*b*b+c*c*c)==num)
            cout<<num<<endl;
        }
        return 0;
    }

    输入一个华氏温度,要求输出摄氏温度。公式为

    C = 5(F-32)/9

    保留两位小数

    输入
    输出
    样例输入
    -40
    样例输出
    -40.00
    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int main()
    {
        float F,b;
        cin>>F;
        b=(5*(F-32))/9;
        printf("%.2f",b);
        return 0;
    }

    问题 1059: [二级C语言]等差数列

    时间限制: 1Sec 内存限制: 128MB 提交: 4742 解决: 3395

    题目描述

    sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。

    输入
    输出
    样例输入
    2
    样例输出
    7

    //这题我开始定义 数组[变量] 由于dev编译器不是那么严谨通过了,结果oj过不去,找了半天原因原来是编译器问题。

    #include<stdio.h>
    int main()
    {
        int a;
        int n;
        int sum=0;
         
        scanf("%d",&n);
         
        while(n--){
            scanf("%d",&a);
            if(a%2==0)
                sum+=a;
        }
        printf("%d",sum);
        return 0;
    }

    问题 1059: [二级C语言]等差数列

    时间限制: 1Sec 内存限制: 128MB 提交: 4743 解决: 3396

    题目描述

    sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。

    输入
    输出
    样例输入
    2
    样例输出
    7
    #include<stdio.h>
    int main()
    {
        int n,sum;
        scanf("%d",&n);
        sum = n*2+(n*(n-1)*3)/2;
        printf("%d",sum); 
        return 0;
    }

    问题 1015: [编程入门]求和训练

    时间限制: 1Sec 内存限制: 128MB 提交: 9523 解决: 5622

    题目描述
    求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和
    输入
    a b c
    输出
    1+2+...+a + 1^2+2^2+...+b^2 + 1/1+1/2+...+1/c
    样例输入
    100 50 10
    样例输出
    47977.93
    #include<iostream>
    using namespace std;
    int main()
    {
        float a,b,c,sum=0;
        cin>>a>>b>>c;
        for(float i=1;i<=a;i++)
            sum=sum+i;
        for(float i=1;i<=b;i++)
            sum=sum+(i*i);
        for(float i=1;i<=c;i++)
            sum=sum+(1/c);
        printf("%.2f",sum);
        return 0;
    }

    问题 1011: [编程入门]最大公约数与最小公倍数

    时间限制: 1Sec 内存限制: 128MB 提交: 12743 解决: 7038

    题目描述
    输入两个正整数m和n,求其最大公约数和最小公倍数。
    输入
    两个整数
    输出
    最大公约数,最小公倍数
    样例输入
    5 7
    样例输出
    1 35
    using namespace std;
    int main()
    {
        int a,b,c,m,t;
        cin>>a>>b;
        if(a<b){
            t=a;
            a=b;
            b=t;
        }
        m=a*b;
        c=a%b;
        while(c!=0){
            a=b;
            b=c;
            c=a%b;
        }
        cout<<b<<" "<<m/b;
        return 0;
    }

     辗转相除法:

    问题 1020: [编程入门]猴子吃桃的问题

    时间限制: 1Sec 内存限制: 128MB 提交: 7109 解决: 5074

    题目描述
    猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
    输入
    N
    输出
    桃子总数
    样例输入
    10
    样例输出
    1534
    #include <bits/stdc++.h>
    int main()
    {
        int N,a=1;
        scanf("%d",&N);
        for(int i=1;i<N;i++){
            a=(a+1)*2;
        }
        printf("%d",a);
        return 0;
    }

    问题 1018: [编程入门]有规律的数列求和

    时间限制: 1Sec 内存限制: 128MB 提交: 7906 解决: 5264

    题目描述
    有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
    输入
    N
    输出
    数列前N项和
    样例输入
    10
    样例输出
    16.48
    #include<iostream>
    using namespace std;
    int main(){
        int n,t;
        float a=2,b=1;
        float sum=0;
        cin>>n;
        for(int i=0;i<n;i++){
            sum=sum+(a/b);
            t=a;
            a=a+b;
            b=t;
        } 
        printf("%.2f",sum);
        return 0;    
    }
  • 相关阅读:
    Mesos-DNS
    秒杀系统
    Springboot配置Druid多数据源
    Android vitals 帮您解决应用质量问题
    Android vitals 帮您解决应用质量问题 (下篇)
    Android Sunflower 带您玩转 Jetpack
    Android Smart Linkify 支持机器学习
    Android Pie SDK 与 Kotlin 更合拍
    Android P 中的新文本特性
    Android P Beta 2 及终版 API 强势来袭!
  • 原文地址:https://www.cnblogs.com/tqing/p/11618798.html
Copyright © 2011-2022 走看看