解题思路: 用'.'分隔字符串,将字符串变为整数,判断是否处于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 人评分
点我有惊喜!你懂得!浏览:1330 |
C语言训练-斐波纳契数列 (C语言代码)浏览:2826 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:590 |
字符串输入输出函数 (C++代码)(都当成字符串吧hhhhhhhh)浏览:493 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:520 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:613 |
Wu-求圆的面积 (C++代码)浏览:1887 |
简单的a+b (C语言代码)浏览:816 |
核桃的数量 (C语言代码)浏览:669 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:407 |