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;    
}

 

posted @ 2019-10-02 23:16  你知道是我的  阅读(512)  评论(0编辑  收藏  举报
黔ICP备19000070号