牛客网基础语法41~50题😘😘😘
💫前言:今天是咱们第五期刷牛客网上的题目。
💫目标:熟练用数学知识来解决编程问题,会利用每种循环。
💫鸡汤:压抑了,那就换个环境呼吸;困惑了,那就转个角度思考;没路了,不妨回头,路在脚下,哪个方向都可以走。先干为敬,大家随意。
🚩第一题
💦pow() 是求次方的,使用它需要引用头文件,#include<math.h>
#include <stdio.h>
#include<math.h>
int main()
{
//初始化
double pi = 3.14;
double r = 0;
//输入
scanf("%lf",&r);
//输出
printf("%0.2lf\n",4.0 / 3.0 * pi *pow(r,3));
return 0;
}
🚩第二题
💦这里的输出需要补零,所以采用这样的格式输出**%#02d:%#02d**
#include <stdio.h>
int main()
{
//初始化
int hour = 0;//时
int min = 0;//分
int howmin = 0;//睡的时间
//输入
scanf("%d:%d %d", &hour, &min, &howmin);
hour = (hour + (howmin + min) / 60) % 24;
min = (howmin + min) % 60;
//输出
printf("%#02d:%#02d", hour, min);
return 0;
}
🚩第三题
#include <stdio.h>
int main()
{
//初始化
int n = 0;
int time = 0;
//输入
scanf("%d", &n);
//当人数只有一个人时
if (n == 0)
{
time = 2;
}
//当人数大于 0 小于12时
else if (n > 0 && n < 12) {
time = 2;
}
//当人数大于12时
else {
time = 4 * (n / 12) + 2;
}
printf("%d", time);
return 0;
}
🚩第四题
💦这里我就不再讲解啦,有兴趣的小伙伴可以看看我在C语言刷题中讲解到了这道题,不会的小伙伴一定要去看看哟!!!😏😏😏
#include<stdio.h>
int main()
{
//定义两个变量
long long x, y;
//定义余数
long long r;
//输入
scanf("%lld %lld", &x, &y);
//算法之一的代码,目的输出最小公倍数
long long z = x * y;
//判断两数的大小,实现最大的数放在前面
if (x < y)
{
int temp = x;
x = y;
y = temp;
}
//循环,当y==0时,结束循环
while (y != 0)
{
r = x % y;
x = y;
y = r;
}
//求和
long long sum = x + z / x;
printf("%lld\n", sum);
return 0;
}
🚩第五题
💦这道题很需要思维能力
💦1.先使数字每个位数取出
💦2.判断位数的奇偶性
💦3.因为每个位数需要不断的乘10,所以有了 i 这个变量
#include<stdio.h>
int main()
{
//初始化
int sum = 0;
//求和
int num = 0;
int i = 1;
//输入
scanf("%d", &sum);
//判断 sum 是否等于零
while (sum)
{
//当位数为偶数时的判断
if ((sum % 2) == 0)
{
//要使 i * 10
i = i * 10;
}
//当位数为奇数时的判断
else
{
//只有奇数要要加起来
num = i * 1 + num;
i = i * 10;
}
//使 sum 除 10
sum = sum / 10;
}
//输出
printf("%d\n", num);
return 0;
}
🚩第六题
家人们,这道题有手就行,对不对🙉🙉🙉
#include <stdio.h>
int main()
{
//初始化数组
int score[5] = {0};
int i = 0;//定义变量
double sum = 0;//统计总分数
for(i = 0;i < 4;i++)
{
scanf("%ld",&score[i]);
}
sum = score[0] * 0.2 + sum;
sum = score[1] * 0.1 + sum;
sum = score[2] * 0.2 + sum;
sum = score[3] * 0.5 + sum;
//打印
printf("%0.1lf\n",sum);
return 0;
}
🚩第七题
大家可别看错题啦(别问,反正我开始看错题了😥😥)
#include <stdio.h>
int main()
{
//定义数组
int arr[5] = {0};
int i = 0;
for(i = 0; i < 4;i++)
{
scanf("%d",&arr[i]);
}
//求和
int sum = (arr[0] + arr[1] - arr[2]) * arr[3];
printf("%d\n",sum);
return 0;
}
🚩第八题
💦pow(x,y) 求x的y次方
💦abs(x) 求x的绝对值
#include<stdio.h>
#include<math.h>
int main()
{
//初始化
int x1,y1,x2,y2;
int r1,r2,r3,r4;
//输入
scanf("%d %d\n",&x1,&y1);
scanf("%d %d\n",&x2,&y2);
r1=abs(x1-x2);
r2=abs(y1-y2);
r3=pow(r1,2);
r4=pow(r2,2);
//输出
printf("%d",r3+r4);
return 0;
}
🚩第九题
#include<stdio.h>
int main()
{
//初始化
int a = 0;
int b = 0;
//输入
scanf("%d %d", &a, &b);
//求和
int sum = a + b;
if (sum >= 100)
{
sum = sum % 100;
}
printf("%d\n", sum);
return 0;
}
🚩第十题
#include<stdio.h>
int main()
{
//初始化
int a=0;
while(scanf("%d",&a)!=EOF);//注意多行输入
if(a>=140)
{
printf("Genius\n");
}
return 0;
}
🎉结束语
今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。麻烦大家举起自己的小手,给博主三连,有你们的支持就是我最大的动力。预知后事如何,且听下回分解。