牛客 字符逆序,三角形判断(C)

题目1(字符逆置)

输入一个字符串str(可以输入空格),将其内容颠倒过来,并输出。

题目链接:

字符逆序__牛客网

解体思路:

我们可以自定义一个逆序函数Reverse。

然后,我们将每个单词倒置过来。

最后再输出整个字符串。

其中,left代表左边,right代表右边,我们通过循环来控制交换的次数,每次循环一次left++,right--.直至跳出循环,完成逆序。

gets()函数 会读取整行输入行,直至遇到换行符,然后丢弃换行符,储存其余字符,并在字符末尾添加一个空字符使其成为C字符串。常和 puts()函数 配对使用。

函数原型:char* gets(char* str);

代码:

#include<stdio.h>
void Reverse(char* str)
{
	char* left = str;
	char* right = str + strlen(str) - 1;
	while (left < right)
	{
		char temp = *left;//通过中间变量,将字符倒置。
		*left = *right;
		*right = temp;
		++left;
		--right;
	}
}

int main()
{
	char str[10000] = {0};
	gets(str);
	//使用指针。
	Reverse(str);
	printf(str);
	return 0;
}

题目2(三角形)

三角形判断

KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。

题目链接:

三角形判断_牛客题霸_牛客网

解题思路

判断三条边能否构成三角形,需要满足以下任一条件:

三角形任意两边之和大于第三边。

三角形任意两边之差小于第三边。

我们获取三角形的三个边长后,只需要判断它是否满足上面两个条件之一,如果满足上述条件之一,则可以构成三角形,如果不满足,则不能构成三角形。

在满足上述情况的条件下,如果三条边相等,则构成等边三角形,输出“Equilateral triangle!”。如果两条边相等则构成等腰三角形,输出“Isosceles triangle!”。其余情况则输出“Ordinary triangle!”,反之输出“Not a triangle!”。

#include<stdio.h>
int main()
{
	 int a, b, c;
	 while(scanf("%d %d %d",&a, &b, &c)!=EOF)
	 {
		if(a + b >c && a + c > b && b + c > a)
		{
			if(a==b&& b == c)
			{
				printf("Equilateral triangle!\n");
			}
			else if(a!=b&&a!=c&&b!=c)
			printf("Ordinary triangle!\n");
			else
			 printf("Isosceles triangle!\n");
		}
		else 
		{
			printf("Not a triangle!\n");
		}
	 }
	return 0;
}

祝大家生活愉快。

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

暴怒香菜统治世界

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

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

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

打赏作者

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

抵扣说明:

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

余额充值