xiaocaiji


私信TA

用户名:biansecond

访问量:2387

签 名:

天道酬勤

等  级
排  名 15360
经  验 843
参赛次数 0
文章发表 7
年  龄 21
在职情况 学生
学  校 山东交通学院
专  业 物理+计算机

  自我简介:

解题思路:选区'.'前的数字转换成十进制数  判断是走在0-255 的范围。

注意事项:每判断一次'.'前的字符后 要将tt清零 进行下一次的判断,注意  00+数字  的情况是不符合条件的。

参考代码:

#include<iostream>

#include<cstring>

#include<vector>

using namespace std;

int main()

{

vector<int>q;

char t[30]="End of file";

int count=0;

char s[30];

while(gets(s)&&strcmp(s,t)!=0)

{

int tt=0;

int flag=1;

for(int i=0;s[i]!='\0';i++)

{

if(s[i]>='0'&&s[i]<='9')

{

tt=tt*10+(s[i]-'0');

if(tt==0)

{

flag=0;

break;

}

}

if(tt<0||tt>255||s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'||s[i]=='-')

{

flag=0;

break;

if(s[i]=='.')tt=0;

}

if(flag)cout<<'Y'<<endl;

else cout<<'N'<<endl;

}

return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »