解题思路:
分别判断每一段是否合法即可
注意事项:
1的ASCII码值是49
参考代码:
#include <stdio.h> #include <ctype.h>//使用isdigit函数 int main() { char s[31];//接收字符串 while(scanf("%s", s) != EOF) { int flag = 1; int sum = 0;//代表每一段的数字 for(int i=0; i<30; i++) { if(s[i] == '\0' || s[i] == '.') { if(sum>255) flag = 0; sum = 0;//一段结束,重置 if(s[i] == '\0') break;//已经是最后一段,结束 } else if(isdigit(s[i]))//判断是否是数字 { sum = sum*10 + s[i] - 48;//1的ASCII码是49 } else//说明是非法的字符 flag = 0; } printf("%c\n", flag?'Y':'N'); } return 0; }
0.0分
0 人评分
人见人爱A+B (C语言代码)浏览:789 |
化学品问题 (C语言代码)浏览:1332 |
C语言训练-求PI* (C语言代码)浏览:897 |
【偶数求和】 (C语言代码)浏览:557 |
【计算两点间的距离】 (C语言代码)浏览:1493 |
母牛的故事 (C语言代码)浏览:715 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:902 |
核桃的数量 (C语言代码)浏览:671 |
1014题解浏览:485 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:545 |