牛客网基础语法41~50题

牛客网基础语法41~50题

前言:今天是咱们第五期刷牛客网上的题目。
目标:熟练用数学知识来解决编程问题,会利用每种循环。
鸡汤:压抑了,那就换个环境呼吸;困惑了,那就转个角度思考;没路了,不妨回头,路在脚下,哪个方向都可以走。先干为敬,大家随意。

第一题

牛客网基础语法41~50题_第1张图片

pow() 是求次方的,使用它需要引用头文件,#include

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

第二题

牛客网基础语法41~50题_第2张图片

这里的输出需要补零,所以采用这样的格式输出**%#02d:%#02d**

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

第三题

牛客网基础语法41~50题_第3张图片

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

第四题

牛客网基础语法41~50题_第4张图片

这里我就不再讲解啦,有兴趣的小伙伴可以看看我在C语言刷题中讲解到了这道题,不会的小伙伴一定要去看看哟!!!

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

第五题

牛客网基础语法41~50题_第5张图片

这道题很需要思维能力
1.先使数字每个位数取出
2.判断位数的奇偶性
3.因为每个位数需要不断的乘10,所以有了 i 这个变量

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

第六题

牛客网基础语法41~50题_第6张图片

家人们,这道题有手就行,对不对

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

第七题

牛客网基础语法41~50题_第7张图片

大家可别看错题啦(别问,反正我开始看错题了)

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

第八题

牛客网基础语法41~50题_第8张图片

pow(x,y)xy次方
abs(x)x的绝对值

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

第九题

牛客网基础语法41~50题_第9张图片

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

第十题

牛客网基础语法41~50题_第10张图片

#include
int main()
{
    //初始化
    int a=0;
    while(scanf("%d",&a)!=EOF);//注意多行输入
    if(a>=140)
    {
        printf("Genius\n");
    }
    return 0;
}

结束语

今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。麻烦大家举起自己的小手,给博主三连,有你们的支持就是我最大的动力。预知后事如何,且听下回分解。
牛客网基础语法41~50题_第11张图片

你可能感兴趣的:(c语言)