解题思路:
注意事项:
注意多行输入,并且注意每次遇到.都要判断前导0
参考代码:
#include<stdio.h>
int main()
{
char sz[100][30];
int n=0,t=0,i,j,flag;
while(~scanf("%s",sz[n])) //控制多行输入
{
n++;
}
for(i=0;i<n;i++)
{
for(t=0,j=0,flag=1;sz[i][t]!='\0';t++) //对数组元素依此判断,j判断前导0问题
{
if(sz[i][t]=='.') {t++;j=0;} //如果遇到.就跳到下一个,并且j从新开始计数
if(sz[i][t+j]=='0') {flag=0;break;}
j+=30; //如果第一个数不是0,那就不存在前导0问题,改变j的值使上一个if不可能成立
if(sz[i][t]<'0'||sz[i][t]>'9') {flag=0;break;} //将每个元素规定只能为正数,-也是会占一个空间,不在0~9范围内。
if(flag==0) break;
}
if(flag==1) printf("Y\n");
else printf("N\n");
}
return 0;
}
运行已通过。
0.0分
0 人评分
【偶数求和】 (C语言代码)浏览:674 |
C语言训练-求PI* (C语言代码)浏览:638 |
C语言考试练习题_保留字母 (C语言代码)浏览:743 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:627 |
矩形面积交 (C语言代码)浏览:1433 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:476 |
数列排序 (C语言代码)浏览:674 |
1392题解(大数相加)浏览:640 |
C语言训练-排序问题<1> (C语言代码)浏览:369 |
买不到的数目 (C语言代码)浏览:3134 |