解题思路:
1.将输入以字符串方式读取
2.通过ASCII判断除了"."的每一个字符是否在0-9之间。
注意事项:
进行数字运算时要将字符型强制转换为整型。
参考代码:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int ip(char *pt);
int main()
{
char ar[31];
while(scanf("%s",ar)!=EOF)
{
if(ip(ar)==1)
printf("Y\n");
else
printf("N\n");
}
return 0;
}
int ip(char *pt)
{
int flag=5; //标志位,当flag==0时说明完全符合条件
int ar=0;
int num;
num=strlen(pt); //获取字符串长度
while(*pt<='9'&&*pt>='0'||*pt=='.')
{
if(*pt<='9'&&*pt>='0')
{
ar*=10;
ar+=(int)(*pt-48); //0的ascii码为48
num--;
}
if(*pt=='.')
{
num--;
if(ar>=0&&ar<=255)
{
flag--;
ar=0;
}
}
if(num==0)
{
if(ar>=0&&ar<=255)
{
flag--;
ar=0;
break;
}
}
pt++;
}
return flag;
}
0.0分
0 人评分
聪明的美食家 (C语言代码)浏览:1255 |
Tom数 (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:622 |
C语言训练-斐波纳契数列 (C语言代码)浏览:2826 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:584 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:732 |
小明A+B (C语言代码)浏览:1256 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:857 |
C语言程序设计教程(第三版)课后习题6.3 (C++代码)浏览:963 |
1157题解浏览:716 |