杭电2039

Problem Description
给定三条边,请你判断一下能不能组成一个三角形。
 

Input
输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000;
 

Output
对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。
 

Sample Input
  
  
2 1 2 3 2 2 2
 

Sample Output
  
  
NO YES

C++ 三个不同的代码

第一个

#include <iostream> #include <cstring> using namespace std; int main() {     char a[50];     int m,k1,k2,k3,k4;     unsigned i;     cin>>m;     getchar();     while(m--)     {         k1=k2=k3=k4=0;         cin.getline(a,50);         if(strlen(a)<8||strlen(a)>16)             cout<<"NO"<<endl;         else         {             for(i=0;i<strlen(a);i++)             {                 if(a[i]>='0'&&a[i]<='9')                     k1=1;                 if(a[i]>='a'&&a[i]<='z')                     k2=1;                 if(a[i]>='A'&&a[i]<='Z')                     k3=1;                 if(a[i]=='~'||a[i]=='!'||a[i]=='@'||a[i]=='#'||a[i]=='$'||a[i]=='%'||a[i]=='^')                     k4=1;             }             if(k1+k2+k3+k4>=3)                 cout<<"YES"<<endl;             else                 cout<<"NO"<<endl;         }     }     return 0; }

第二个

 #include <iostream> #include <cstring> using namespace std; int main() {     char a[50];     int m,k1,k2,k3,k4;     unsigned i;     cin>>m;     getchar();     while(m--)     {         k1=k2=k3=k4=0;         cin.getline(a,50);         if(strlen(a)<8||strlen(a)>16)             cout<<"NO"<<endl;         else         {             for(i=0;i<strlen(a);i++)             {                 if(a[i]>='0'&&a[i]<='9')                     k1=1;                 if(a[i]>='a'&&a[i]<='z')                     k2=1;                 if(a[i]>='A'&&a[i]<='Z')                     k3=1;                 if(a[i]=='~'||a[i]=='!'||a[i]=='@'||a[i]=='#'||a[i]=='$'||a[i]=='%'||a[i]=='^')                     k4=1;             }             if(k1+k2+k3+k4>=3)                 cout<<"YES"<<endl;             else                 cout<<"NO"<<endl;         }     }     return 0; }

第三个

 #include<iostream> using namespace std; int main() { int n,q; char c; cin>>n;    getchar(); while(n--) { int e=0,f=0,g=0,h=0;   int i=0,sum=0;   while((c=getchar())!='\n')   { if(c>='0'&&c<='9') e=1; if(c>='a'&&c<='z') f=1; if(c>='A'&&c<='Z') g=1; if(c=='~'||c=='!'||c=='@'||c=='#'||c=='$'||c=='%'||c=='^') h=1; i++; } sum=e+f+g+h;      if(i<8||i>16) cout<<"NO"<<endl; else  {   if(sum>=3) cout<<"YES"<<endl;   else  cout<<"NO"<<endl; } } return 0; }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值