乘风破浪会有时,直挂云帆济沧海。
前言
forever 牛客C基础题型刷题复习训练营,从易到难,一遍一遍的刷题练习敲代码的习惯和思维,尽量使用熟悉的编程语言来敲。
正文
题目一:牛牛的线段
描述 牛牛有一个线段放在二维坐标系中,已知线段两个点的坐标 (x1,y1),(x2,y2) 。牛牛想知道这个线段的长度的平方 输入描述: 第一行输入 x1 和 y1,用空格隔开。 第二行输入 x2 和 y2,用空格隔开。 其中 x1 , y1 ,x2 ,y2 都是整数
输出描述: 输出线段的长度的平方
代码如下:
#include <stdio.h>
#include <math.h>
int main(void)
{
int x1 = 0, x2 = 0;
int y1 = 0, y2 = 0;
scanf("%d %d",&x1, &y1);
scanf("%d %d",&x2, &y2);
int ret = pow((x1-x2),2)+pow((y1-y2),2);
printf("%d\n",ret);
}
总结:
注意这里需要仔细审题,题目要求的是求其平方就可以。
题目二:及格分数
描述 KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。
输入描述: 多组输入,每行输入包括一个整数表示的分数(0~100)。
输出描述: 针对每行输入,输出“Pass”或“Fail”。
代码如下:
#include <stdio.h>
int main(void)
{
int n = 0;
while(scanf("%d",&n)!=EOF)
{
if(n>=60)
{
printf("Pass\n");
}
else
{
printf("Fail\n");
}
}
}
总结:
这里就开始C的分支结构了,慢慢的就走进C的主题啦! 这道题存在多组输入,因此在敲代码时候注意了哈!
题目三:判断整数奇偶性
描述 KiKi想知道一个整数的奇偶性,请帮他判断。从键盘任意输入一个整数(范围-231~231-1),编程判断它的奇偶性。
输入描述: 多组输入,每行输入包括一个整数。
输出描述: 针对每行输入,输出该数是奇数(Odd)还是偶数(Even)。
代码如下:
#include<stdio.h>
int main()
{
int n=0;
while(~scanf("%d",&n))
{
if(n%2==0)
{
printf("Even\n");
}
else
{
printf("Odd\n");
}
}
return 0;
}
题目四:判断元音还是辅音字母
描述 KiKi开始学习英文字母,BoBo老师告诉他,有五个字母A(a), E(e), I(i), O(o),U(u)称为元音,其他所有字母称为辅音,请帮他编写程序判断输入的字母是元音(Vowel)还是辅音(Consonant)。
输入描述: 多组输入,每行输入一个字母。
输出描述: 针对每组输入,输出为一行,如果输入字母是元音(包括大小写),输出“Vowel”,如果输入字母是非元音,输出“Consonant”。
代码如下:
#include<stdio.h>
#include<ctype.h>
int main()
{
char letter = 0;
while (scanf(" %c", &letter)!=EOF)
{
letter = toupper(letter);
switch (letter)
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':printf("Vowel\n"); break;
default:printf("Consonant\n");
}
}
return 0;
}
总结:
这道题里面有两个陌生的知识点: 1、首先出现利用getchar()函数来消除回车,这里给%c前面加一个空格也符合这道题目的格式要求,但是我们需要了解学习到getchar()函数消除回车的用法哈! 2、这里出现了toupper()函数,这个函数的作用是:将小写字母转换为其对应的大写字母。
题目五:牛牛的判断题
描述 牛牛从键盘输入整数 x 和左右边界 l 和 r 共三个整数。请你判断 x 是否在 l 和 r 之间 (即是否存在 l≤x≤r )
输入描述: 依次输入 x ,l ,r 三个整数。用空格隔开。
输出描述: 如果存在 l≤x≤r 则输出 true ,否则输出 false
代码如下:
#include <stdio.h>
int main(void)
{
int x = 0, l = 0, r = 0;
scanf("%d %d %d",&x,&l,&r);
if(x >= l && x <= r)
printf("true\n");
else
printf("false\n");
}
题目六:判断闰年
描述 判断一个整数n是否是闰年
输入描述: 输入一个整数n (1≤n≤2018)
输出描述: 是闰年输出"yes" 否则输出"no"
代码如下:
#include<stdio.h>
int main(void)
{
int n = 0;
scanf("%d",&n);
if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
printf("yes\n");
else
printf("no\n");
}
总结:
这道题里面需要记住判断闰年的条件:(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)。
题目七:判断字母
描述 从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述: 输入包括一个字符。
输出描述: 输出该字符是字母(YES)或不是(NO)。
代码如下:
#include<stdio.h>
int main(void)
{
char n = 0;
scanf("%c", &n);
if (n >= 'a' && n <= 'z' || n>='A' && n <= 'Z')
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
题目八:四季
描述 气象意义上,通常以3~5月为春季(spring),6~8月为夏季(summer),9~11月为秋季(autumn),12月~来年2月为冬季(winter)。请根据输入的年份以及月份,输出对应的季节。
输入描述: 输入的数据格式是固定的YYYYMM的形式,即:年份占4个数位,月份占2个数位。
输出描述: 输出月份对应的季节(用英文单词表示,全部用小写字母)。
代码如下:
#include <stdio.h>
int main(void)
{
int m = 0;
scanf("%d",&m);
int n = m % 100;
switch(n)
{
case 3:
case 4:
case 5:printf("spring\n");break;
case 6:
case 7:
case 8:printf("summer\n");break;
case 9:
case 10:
case 11:printf("autumn\n");break;
default:printf("winter\n");
}
}
题目九:健康评估
描述 BMI指数(即身体质量指数)是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。例如:一个人的身高为1.75米,体重为68千克,他的BMI=68/(1.752)=22.2(千克/米2)。当BMI指数为18.5~23.9时属正常,否则表示身体存在健康风险。编程判断人体健康情况。
输入描述: 一行,输入一个人的体重(千克)和身高(米),中间用一个空格分隔。
输出描述: 一行,输出身体Normal(正常)或Abnormal(不正常)。
代码如下:
#include<stdio.h>
int main(void)
{
double m = 0,n = 0;
double BMI = 0;
scanf("%lf %lf",&m,&n);
BMI = m / (n*n);
if(BMI >= 18.5 && BMI <= 23.9)
{
printf("Normal\n");
}
else
{
printf("Abnormal\n");
}
}
题目十:小乐乐找最大数字
描述 小乐乐获得4个最大数,请帮他编程找到最大的数。
输入描述: 一行,4个整数,用空格分开。
输出描述: 一行,一个整数,为输入的4个整数中最大的整数。
代码(1)如下:
#include <stdio.h>
int main(void)
{
int n = 0;
int max = 0;
while(scanf("%d",&n) != EOF)
{
if(max < n)
{
max = n;
}
}
printf("%d\n",max);
}
代码(2)如下: 利用数组和三目运算符结合判断
#include <stdio.h>
int main(void)
{
int arr[4] = {0};
for(int i = 0; i < 4; i++)
{
scanf("%d",&arr[i]);
}
int max = 0;
for(int i = 0; i < 4; i++)
{
max = max < arr[i] ? arr[i] : max;
}
printf("%d\n",max);
}
结语
牛客复习题目打卡,代码人一定得多敲代码,从基础题型向后一步一步走,从质变到达量变,加油! 也希望大家能够从这些题目中寻找到一些灵感,如有不足之处或者有其他方法,请大家评论区打出来哈~ 互相学习,互相进步~ 再见啦! 谢谢阅读!
|