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-字符串能否构成三角形及何种三角形相关推荐

  1. 判断三角形是何种三角形的测试用例

    最近在读<软件测试的艺术>这本书,个人感觉挺不错的.其中涉及到有一个问题是这样的: 设计一组测试用例,适当地测试一个相当简单的程序. 这个程序从一个输入框中读取三个整数值,这三个整数值代表 ...

  2. C语言入门:根据三角形边长确定三角形为何种三角形

    C语言:根据三角形边长确定三角形为何种三角形 #include<stdio.h> #include<stdlib.h> void main(){int a,b,c;scanf( ...

  3. C语言标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n”

    标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形.直角三角形.等腰直角三角形,一般三角形.若不能,则输出"不是三角形\n" ...

  4. 用python编程输入三角形的三条边判断是否构成三角形_输入三角形的三条边a,b,c,判断它们能否构成三角形。若能构成三角形,指出是何种三角形....

    任务说明: 输入三角形的三条边a,b,c,判断它们能否构成三角形.若能构成三角形,指出是何种三角形.注:判断浮点数是否相等其差的绝对值小于10-3即认为相等.需用5种测试用例. 输入要求: " ...

  5. 判断三角形的类型,是何种三角形(等腰,等边,直角)

    /* 三角形项项目综合 判断三角形的类型,判断是否为等腰,等边,直角还是普通三角形. 判断等腰的条件:三角形两边相等.ab||bc||ac 判断等边的条件:三角形三边相等.(ab)&& ...

  6. C++输入三角形三边判断三角形类型

    问题描述 编写程序,输入三角形三条边a.b和c(假设为实数),判断它们能否构 成三角形.若不能构成三角形,则输出"Don't make a triangle":若 能构成三角形,进 ...

  7. R语言使用upper.tri函数、lower.tri函数、diag函数改变matrix矩阵上三角形、下三角形、对角线的数值

    R语言使用upper.tri函数.lower.tri函数.diag函数改变matrix矩阵上三角形.下三角形.对角线的数值 目录

  8. 【OpenGL】十三、OpenGL 绘制三角形 ( 绘制单个三角形 | 三角形绘制顺序 | 绘制多个三角形 )

    文章目录 一.绘制三角形 二.三角形绘制顺序 1.绘制正面 2.三个点逆时针方向排列 3.三个点顺时针方向排列 4.设置点的正面方向 三.绘制多个三角形 四.相关资源 一.绘制三角形 三角形绘制即绘制 ...

  9. css绘制向左三角形_CSS绘制三角形—border法

    1. 实现一个简单的三角形 使用CSS盒模型中的border(边框)即可实现如下所示的三角形: CSS实现简单三角形 实现原理: 首先来看在为元素添加border时,border的样子:假设有如下代码 ...

最新文章

  1. Fast implementation/approximation of pow() function in C/C++
  2. android 动画 最顶层_【Android编程实战】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗...
  3. delphi xe6 android ListView增加 Header或Footer 的方法
  4. 编程的智慧 意外在内网找到的资源
  5. [深度学习] Keras 如何使用fit和fit_generator
  6. GoldenGate组态(四)它veridata组态
  7. php执行linux命令的6个函数
  8. DJANGO输出HIGHCHARTS数据的样例
  9. LM算法求解最小二乘问题
  10. ZIPF分布、PARETO分布和幂律分布
  11. cruzer php sandisk 闪迪u盘量产工具_闪迪u3量产工具下载|
  12. java 随机生成中文姓名 工具类
  13. 电影《阿凡达》观后感
  14. php抓取微博评论,python爬虫爬取微博评论案例详解
  15. 阿里云服务器ECS搭建EMQ快速实现MQTT通信
  16. new一个对象的时候发生了什么?
  17. 通用验证系统commons-validator
  18. 12.30工作学习记录 英语语法 were是are的过去式 are是复数动词
  19. ESP32设备驱动-TEA5767收音机模块驱动
  20. 计算机操作系统-操作系统概述

热门文章

  1. 最近调试人脸问题的总结--命令行+抽取第二级子目录的名称
  2. linux下svn命令
  3. ucc编译器(入门)
  4. 【10天基于STM32F401RET6智能锁项目实战第2天】(分别用库函数和寄存器点灯)
  5. mysql 5.7 enum_MYSQL中 ENUM 类型的详细解释
  6. html设置边框dw,dreamweaver
  7. BUUCTF Web [ACTF2020 新生赛]Include
  8. Upload LABS Pass-5
  9. SQLi LABS Less-35
  10. python爬虫之json数据处理