解题思路: 用'.'分隔字符串,将字符串变为整数,判断是否处于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语言训练-素数问题 (C语言代码)浏览:1065 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:685 |
【排队买票】 (C语言代码)浏览:944 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)from DQM浏览:773 |
水仙花 (C语言代码)浏览:1163 |
字符逆序 (C语言代码)浏览:506 |
1071题解浏览:584 |
简单的a+b (C语言代码)浏览:491 |
盐水的故事 (C语言代码)浏览:1602 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:608 |