原题链接:IP判断
解题思路: 用'.'分隔字符串,将字符串变为整数,判断是否处于0到255之间,如果处于,记录个数加一; 循环结束之后,判断符合ip条件的整数的个数,再进行输出Y/N的步骤,是不是一目了然. 注意事项: 在下的方法要注意每次循环初始化,以及字符串元素不为'\0'; 参考代码: #include<stdio.h> int main() { char str[100]; //输入字符串,对字符串进行操作 int i, j, sum; //i为临时变量,j记录符合ip的个数,sum记录每个整数的大小 while (scanf("%s", str) != EOF) { j = 0; //每次输入字符串把符合ip的整数的个数赋值为0 for (i = 0; str[i]; i++) { sum = 0; //以'.'为分割,记录每一个整数的数值,每次循环赋值为0 if (str[i]<'0' || str[i]>'9') //每一个分隔的小段字符串的第一位,如果不是数字,直接break; break; else { while (str[i] != '.'&&str[i]) //对于初步符合ip的小段字符串,进行数值大小的操作 { sum = 10 * sum + str[i] - '0'; i++; } if (sum >= 0 && sum <= 255) //如果整数大小在0到255之间,j++ j++; } } if (j == 4) //如果j==4,输出Y; printf("Y\n"); else //反之,输出N; printf("N\n"); } return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复