八进制数判断
题目:
现在要求编写一个程序,输入一个数,如果该数不是八进制数,输出no,如果是,输出yes。
思路:1、八进制数第一个是符号位0,所以首先判断第一个数是否是0
2、接着依次判断后面的数是否在0-7之间,若都满足则是八进制数。
#include<stdio.h>
#include<string.h>
#define N 6 //要求输入的十进制数范围为2-64
void main()
{
int i,len=0;
char a[N];
puts("请输入一个数:");
gets(a);
len=strlen(a);
for(i=0;i<len;i++)
{
if(a[0]!='0'||a[i]>'8'||a[i]<'0')
{
printf("no");
break;
}
else if(i==len-1)
printf("yes");
}
}