【牛客刷题】带你在牛客刷题第一弹(C/C++语言基础题)

目录

第一题 你好,牛客

题目

讲解:

AC:

第二题 牛牛学说话之-整数

题目

讲解:

AC:

第三题 牛牛学说话之-浮点数

题目

讲解:

AC:

第四题 牛牛学加法

题目

讲解:

AC:

第五题 牛牛学除法

题目

讲解:

AC:

第六题 牛牛学取余

题目

讲解:

AC:

第七题 整数的个位

题目

讲解:

AC:

第八题 整数的十位

题目

讲解:

AC:

第九题 浮点除法

题目

讲解:

AC:

第十题 倒序

题目

讲解:

AC:


这篇文章就是带大家在牛客的题库之中寻找到一些C/C++语言基础题目来进行讲解,所有本篇将对新手非常的友好,也可以对C/C++知识起到一个很好的复习作用。可能题目会比较简单,但我相信随着题库的加深,后面肯定会出现一些有难度的题目的。

第一题 你好,牛客

题目

题目描述

第一题非常简单,你只需要按照样例输出一样的一句话就好了,注意大小写要一样哦

输入描述:

没有输入

输出描述:

输出hello nowcoder

讲解:

这道题目考察的知识点就是我们在学习C/C++时所学习的printf或者cout的使用方法。

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>) ;

cout的调用格式为:cout<<表达式1<<表达式2<<……<<表达式n ;

AC:

C语言:

#include<stdio.h>

int main()
{ 
    printf("hello nowcoder\n")    ;
}

C++:

#include <iostream>

using namespace std ;

int main()
{
    cout << "hello nowcoder" << endl ;
    return 0 ;
}

第二题 牛牛学说话之-整数

题目

题目描述

牛牛刚刚出生,嗷嗷待哺,一开始他只能学说简单的数字,你跟他说一个整数,他立刻就能学会。

输入一个整数,输出这个整数。

输入描述:

输入一个整数,范围在32位有符号整数范围内

输出描述:

输出这个整数

示例1

输入

3

输出

3

讲解:

这道题就是考察了我们输入输出运算符(printf,scanf以及cout,cin)的题目了;

由于前面以及讲过了输出符使用方法,所以现在讲解下输入符使用方法:

scanf() 函数的声明 : int scanf(const char *format, ...)

cin的调用格式为 :cin>>表达式1>>表达式2>>……>>表达式n ;

AC:

C语言:

#include<stdio.h>

int main()
{
    int i ;
    scanf("%d",&i) ;
    
    printf("%d",i) ;
    return 0;
}

C++:

#include <iostream>

using namespace std ;

int main()
{
    int n ;
    cin >> n ;
    cout << n << endl ;

    return 0 ;
}

第三题 牛牛学说话之-浮点数

题目

会说整数之后,牛牛开始尝试浮点数(小数)

输入一个浮点数,输出这个浮点数。

输入描述:

输入一个浮点数

输出描述:

输出一个浮点数,保留三位小数

示例1

输入

1.359578

输出

1.360

讲解:

这道题目考察的是浮点数:float和double

其中

当中“%f”是浮点数float的格式输入,double的格式输入是“%lf”

当中的“.3f”是保留三位小数,如果保留两位小数就是“.2f”

AC:

C语言:

#include<stdio.h>

int main()
{
  float a;
  scanf("%f",&a);
  printf("%.3f",a);
  return 0 ;
}

C++:

#include<iostream>
 
using namespace std ;

int main()
{ 
    double a ; 
    cin >> a ; 
    printf("%.3lf",a) ; 
    return 0 ;
}

第四题 牛牛学加法

题目

给你两个整数,要求输出这两个整数的和

输入描述:

输入两个整数 a, b (0 <= a, b <= 1000)

输出描述:

输出一个整数.

示例1

输入

1 2

输出

3

讲解:

这道题就是考察我们加号运算符的使用方法。

+        把两个操作数相加        使用方法:A+B 。

AC:

C语言:

#include<stdio.h>

int main()
{
    int a, b ;
    scanf("%d%d",&a,&b) ;
    printf("%d\n", a+b) ;
    return 0 ;
}

C++:

#include<iostream>

using namespace std ;

int main()
{
    int a, b ;
    cin >> a >> b ;
    cout << a+b << endl ;
    
    return 0 ;
}

第五题 牛牛学除法

题目

题目描述

输入两个整数a, b, 输出a/b的值,只保留整数部分

输入描述:

输入两个整数,在int范围内

输出描述:

输出一个整数

示例1

输入

5 2

输出

2

讲解:

题目很简单就是考察了我们“ / ”的使用方法,即:a÷b = a/b ;

AC:

C语言:

#include<stdio.h>

int main()
{
    int a, b ;
    scanf("%d%d", &a, &b) ;
    int c = a/b ;
    
    printf("%d\n",c) ;
    
    return 0 ;
    
}

C++:

#include<iostream>

using namespace std ;

int main()
{
    int a, b ;
    cin >> a >> b ;

    cout << a/b << endl ;
    
    return 0 ;
}

第六题 牛牛学取余

题目

题目描述

输入两个整数a, b, 输出a 除以b的余数,5除以2的余数为1,10除以4的余数为2

输入描述:

输入两个整数,在int范围内

输出描述:

输出一个整数

示例1

输入

5 2

输出

1

讲解:

这道题目考察了“ % ”的使用方法:

取余运算符,作用于两个整型数(正整数、负整数),运算结果是两数相除后的余数,运算结果为整数。要求:运算结果正负号与被除数符号一致并且被除数小于除数时,运算结果等于被除数。

AC:

C语言:

#include<stdio.h>

int main()
{
    int a, b ;
    scanf("%d%d",&a, &b) ;
    int c = a%b ;
    
    printf("%d\n",c) ;
    
    return 0 ;
}

C++:

#include<iostream>

using namespace std ;

int main()
{
    int a, b ;
    cin >> a >> b ;
    cout << a%b << endl ;
    return 0 ;
}

第七题 整数的个位

题目

题目描述

输入一个整数a, 求个位数

输入描述:

输入一个整数,在int范围内

输出描述:

输出一个整数

示例1

输入

102

输出

2

讲解:

这道题目就稍微有点意思啦,题目问的是个位数,我们就要想,怎么才能算到个位数,这时我们发现,一个整数他对10去取余,取余的结果就是这个数的个位数了,那么同理可得,如果我们对100去进行取余,那么我们将得到后两位数了。

AC:

C语言:

#include <stdio.h>

int main ()
{ 
    int a, b ; 
    scanf("%d",&a) ; 
    b=a%10 ; 
    printf("%d",b) ; 
}

C++:

#include<iostream>

using namespace std ;

int main ()
{ 
    int a, b ; 
    cin >> a ; 
    b=a%10 ; 
    cout << b << endl ; 
}

第八题 整数的十位

题目

题目描述

输入一个整数,求其十位数

输入描述:

输入一个整数,在int范围内

输出描述:

输出一个整数

示例1

输入

123

输出

2

讲解:

根据上一题我们讲到的,一个数%10得到的是个位,那么我们如果想得到十位应该怎么办呢?这时我们就应该想着如何去退位,也就是除以10,我们没除一个10我们的总位数就退一位,这样我们就可以去求得十位了。

AC:

C语言:

#include <stdio.h>

int main()
{
    int a;
    scanf("%d",&a);
    printf("%d",a/10%10);
    return 0;
}

C++:

#include<iostream>

using namespace std ;

int main()
{
    int a ;
    cin >> a ;
    cout << a/10%10 << endl ;
    return 0 ;
}

第九题 浮点除法

题目

题目描述

输入两个整数a, b, 输出a除以b的值,保留三位小数

输入描述:

输入两个整数,在int范围内

输出描述:

输出一个浮点数,保留三位小数

示例1

输入

5 2

输出

2.500

讲解:

在这到题目中我们将用到强制转换的知识,我们在编程的时候可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,其使用方法如下:

(type_name) expression

这时我们只需创建两个整形的变量,在最后输出时用强制转换去转换为float类型即可。 

AC:

C语言:

#include<stdio.h>

int main()
{
    int a , b ;
    scanf("%d%d",&a, &b) ;
    printf("%.3f",(float)a/b) ;
    
    return 0 ;
}

C++:

#include<iostream>

using namespace std;

int main()
{
    int a , b ;
    cin >> a >> b ;
    printf("%.3f",(float)a/b) ;
    
    return 0 ;
}

第十题 倒序

题目

题目描述

输入三个数,反序输出这三个数。

输入描述:

输入三个整数a, b , c 以空格隔开 0<=a,b,c<=231−10 <= a, b,c <= 2^{31}-10<=a,b,c<=231−1

输出描述:

输出一行,三个整数,以空格隔开

示例1

输入

2 6 9

输出

9 6 2

讲解:

在这里,这道题目我提出两个思路,第一个就是直接创建三个变量,将三个变量输入与输出顺序反过来即可;第二个就是创建一个数组,利用for循环去写,先从前往后去储存,然后从后往前去输出。这两种方法都可以解决这个问题 。

AC:

C语言

方法一:

#include<stdio.h>

int main()
{
    int a, b, c ;
    scanf("%d%d%d",&a,&b,&c) ;
    
    printf("%d %d %d\n",c,b,a) ;
    
    return 0 ;
}

方法二:

#include<stdio.h>

int main()
{
    int a[10] ;
    int i ;
    for(i=0; i<3; i++)
    {
        scanf("%d",&a[i]) ;
    }
    
    for(int i=2; i>=0; i--)
    {
        printf("%d ", a[i]) ;
    }
    printf("\n") ;
    
    return 0 ;
}

C++

思路一:

#include<iostream>

using namespace std ;

int main()
{
    int a, b, c ;
    cin >> a >> b >> c ;
    cout << c << " " << b << " " << a << endl ;
    
    return 0 ;
}

思路二:

#include<iostream>

using namespace std ;

int main()
{
   int a[10] ;

    for(int i=0; i<3; i++)
    {
        cin >> a[i] ;
    }
    
    for(int i=2; i>=0; i--)
    {
        cout << a[i] << " " ;
    }
    cout << endl ;
    return 0 ;
}

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉云生烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值