解题思路:说好的输入"End of file"结束,弄的我交了好几遍都是超出限制。
其实还是~Z结束。
注意事项:
学多点函数才是解题的好帮手。
函数sscanf()和scanf()类似, 只是输入从buffer(缓冲区)中读取。
例如scanf输入x[100],用sscanf就可以读取x[100]的内容
#include <stdio.h>
#include <string.h>
#define p(n) (n>=0 && n<=255) //定义带参数的宏
int main()
{
char x[1000];
int a,b,c,d;
while(gets(x)!='\0') //这里面和scanf("%s",x)!=EOF是一个原理。
{
if(sscanf(x,"%d.%d.%d.%d",&a,&b,&c,&d)==4)
//判断格式,例如 ?.1.2.3 返回0: 1.?.2.3 返回1; 1.2.3.4 返回4;
printf("%c\n",(p(a) && p(b) && p(c) && p(d))?'Y':'N');
//条件运算符 ? : 例如 1<2?1:2 条件成立选前面就是1,条件不成立就选后面就是2。
else
printf("%c\n",'N');
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复