冯大侠的小喽啰


私信TA

用户名:uq_28155203703

访问量:427

签 名:

有一只热爱生活的小雯子

等  级
排  名 15298
经  验 798
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 烟台大学
专  业 计算机科学与技术

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include

#include

#include

int cmp(char *num);

int main()

{

    char str[31]="";

    while(gets(str)&&strcmp(str,"End of file")!=0)//注意这里一定用gets!!!否则无法读取空格,用%[^\n]有错误

    {

        int j=0;

        int state[4]={0,0,0,0};//A.B.C.D的状态判断

        char num[30]="";//用于存放每组数据

        for(int i=0;i<strlen(str);i++)

        {

            if(str[i]!='.')

            {

                char temp[2]="";

                temp[0]=str[i];

                strcat(num,temp);//每组字符存入num

            }

            else

            {

                state[j]=cmp(num);//判断上一组num的状态

                num[0]='\0';//清空num

                j++;

                continue;

            }

        }

        state[j]=cmp(num);//判断最后一组num。

        if(state[0]==0&&state[1]==0&&state[2]==0&&state[3]==0)

            printf("Y\n");//各组全为正确才算正确

        else

            printf("N\n");

    }

    return 0;

}

int cmp(char *num)

{

    for(int i=0;i<strlen(num);i++)

    {

        if(num[i]

            return 1;

    }//是否有数字之外的字符

    if(num[0]=='0')

        return 1;//是否有前导0

    if(atoi(num)

        return 1;

    else

        return 0;

}


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区