2-字符串能否构成三角形及何种三角形
2-0 字符串三角形
给定3个字符串,第一个字符串的长度定义为字母的个数(包含大小写字母),第二个字符串的长度定义为数字的个数(阿拉伯数字0-9),第三个字符串的长度定义为非空格字符的个数。注意:字符串中可能含有空格,遇到回车认为一个字符串输出完毕,回车不算在内。
如果这三个字符串的长度可以组成一个三角形,那么输出1,如果不能组成三角形,输出0.
例如输入:
abcdeF 2de //长度为8
12de ds 321 111 //长度为8
22 FFFd#!@ 3 //长度为10
输出为:
1
2-1 如果可以构成三角形,输出1之后还要输出三角形的类型,如果不能,则仅仅输出0。
这里规定三角形的类型有:A 直角三角形 B 等腰三角形 C等腰直角三角形 D 等边三角形 E其余三角形
如果满足等腰直角三角形,则仅输出C,不必输出A B(仅输出最难满足条件的区间),同理,如果满足D则不需要输出B。
则刚才的输出为
1 B
代码1:(自己写的):
#include <iostream>
#include <stdio.h>
#include <algorithm>using namespace std;int main()
{char c;int len1=0,len2=0,len3=0;while((c=getchar())!='\n'){if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))len1++;}while((c=getchar())!='\n'){if(c>='0'&&c<'9')len2++;}while((c=getchar())!='\n'){if(c!=' ')len3++;}cout << len1<<" "<<len2<<" "<<len3<< endl;if(len1>len2) swap(len1,len2);if(len1>len3) swap(len1,len3);if(len2>len3) swap(len2,len3);if((len1+len2)>len3&&(len1+len3)>len2&&(len2+len3)>len1){printf("1");if((len1==len2)&&(len2==len3)) printf("D等边三角形");else if((len1==len2)||(len1==len3)||(len2==len3))if(len1*len1+len2*len2==len3*len3)printf("C等腰直角三角形\n");elseprintf("B等腰三角形");else if(len1*len1+len2*len2==len3*len3)printf("A直角三角形");elseprintf("E其他三角形");}elseprintf("0");return 0;
}
代码2:(西交wrong):
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>using namespace std;
const int maxn = 100000;
typedef pair<int,int> P;
int main()
{char c;int len1,len2,len3;len1=len2=len3=0;while((c=getchar())!='\n')if((c>='A'&&c<='Z')||(c>='a'&&c<='z')) len1++;while((c=getchar())!='\n')if(c>='0'&&c<='9') len2++;while((c=getchar())!='\n')if(c!=' ') len3++;if(len1<len2) swap(len1,len2);if(len1<len3) swap(len1,len3);cout<<len1<<" "<<len2<<" "<<len3<<endl;if(len2+len3>len1){printf("1\n");if(len1==len2&&len2==len3) cout<<'D'<<endl;else if(len1==len2||len1==len3||len2==len3)if(len1*len1+len2*len2==len3*len3||len1*len1+len3*len3==len2*len2||len2*len2+len3*len3==len1*len1)cout<<'C'<<endl;elsecout<<'B'<<endl;elseif(len1*len1+len2*len2==len3*len3||len1*len1+len3*len3==len2*len2||len2*len2+len3*len3==len1*len1)cout<<'A'<<endl;elsecout<<'E'<<endl;}elseprintf("0\n");return 0;
}
(感谢西交wrong学长提供以上题目练习)
2-字符串能否构成三角形及何种三角形相关推荐
- 判断三角形是何种三角形的测试用例
最近在读<软件测试的艺术>这本书,个人感觉挺不错的.其中涉及到有一个问题是这样的: 设计一组测试用例,适当地测试一个相当简单的程序. 这个程序从一个输入框中读取三个整数值,这三个整数值代表 ...
- C语言入门:根据三角形边长确定三角形为何种三角形
C语言:根据三角形边长确定三角形为何种三角形 #include<stdio.h> #include<stdlib.h> void main(){int a,b,c;scanf( ...
- C语言标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n”
标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形.直角三角形.等腰直角三角形,一般三角形.若不能,则输出"不是三角形\n" ...
- 用python编程输入三角形的三条边判断是否构成三角形_输入三角形的三条边a,b,c,判断它们能否构成三角形。若能构成三角形,指出是何种三角形....
任务说明: 输入三角形的三条边a,b,c,判断它们能否构成三角形.若能构成三角形,指出是何种三角形.注:判断浮点数是否相等其差的绝对值小于10-3即认为相等.需用5种测试用例. 输入要求: " ...
- 判断三角形的类型,是何种三角形(等腰,等边,直角)
/* 三角形项项目综合 判断三角形的类型,判断是否为等腰,等边,直角还是普通三角形. 判断等腰的条件:三角形两边相等.ab||bc||ac 判断等边的条件:三角形三边相等.(ab)&& ...
- C++输入三角形三边判断三角形类型
问题描述 编写程序,输入三角形三条边a.b和c(假设为实数),判断它们能否构 成三角形.若不能构成三角形,则输出"Don't make a triangle":若 能构成三角形,进 ...
- R语言使用upper.tri函数、lower.tri函数、diag函数改变matrix矩阵上三角形、下三角形、对角线的数值
R语言使用upper.tri函数.lower.tri函数.diag函数改变matrix矩阵上三角形.下三角形.对角线的数值 目录
- 【OpenGL】十三、OpenGL 绘制三角形 ( 绘制单个三角形 | 三角形绘制顺序 | 绘制多个三角形 )
文章目录 一.绘制三角形 二.三角形绘制顺序 1.绘制正面 2.三个点逆时针方向排列 3.三个点顺时针方向排列 4.设置点的正面方向 三.绘制多个三角形 四.相关资源 一.绘制三角形 三角形绘制即绘制 ...
- css绘制向左三角形_CSS绘制三角形—border法
1. 实现一个简单的三角形 使用CSS盒模型中的border(边框)即可实现如下所示的三角形: CSS实现简单三角形 实现原理: 首先来看在为元素添加border时,border的样子:假设有如下代码 ...
最新文章
- Fast implementation/approximation of pow() function in C/C++
- android 动画 最顶层_【Android编程实战】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗...
- delphi xe6 android ListView增加 Header或Footer 的方法
- 编程的智慧 意外在内网找到的资源
- [深度学习] Keras 如何使用fit和fit_generator
- GoldenGate组态(四)它veridata组态
- php执行linux命令的6个函数
- DJANGO输出HIGHCHARTS数据的样例
- LM算法求解最小二乘问题
- ZIPF分布、PARETO分布和幂律分布
- cruzer php sandisk 闪迪u盘量产工具_闪迪u3量产工具下载|
- java 随机生成中文姓名 工具类
- 电影《阿凡达》观后感
- php抓取微博评论,python爬虫爬取微博评论案例详解
- 阿里云服务器ECS搭建EMQ快速实现MQTT通信
- new一个对象的时候发生了什么?
- 通用验证系统commons-validator
- 12.30工作学习记录 英语语法 were是are的过去式 are是复数动词
- ESP32设备驱动-TEA5767收音机模块驱动
- 计算机操作系统-操作系统概述