c语言用scanf输入一个数,如果是六位数字(首位可以为0,不能是字母)则输出“正确”,否则输出错误
2个回答
展开全部
你可以用字符串输入,然后判断字符串。
如果还有后续的操作,可以将输入的字符串转成整数,即函数atoi。
你可以去查一下atoi函数的详细用法。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//判断字符串中是否含有除数字之外的字符
//如果含有除数字之外的字符返回0,如果只含有数字返回1
int func(char *s)
{
int i, t;
t = strlen(s);
for(i=0; i<t; i++)
{
if(s[i]<'0' || s[i]>'9')
{
return 0;
}
}
return 1;
}
int main()
{
int n, z;
char s[10];
while(scanf("%s", s)==1)
{
z = func(s);
//注意我两个printf中的输出格式,一个%s, 另一个%d
if(z==0)
{
printf("%s is not a data\n", s);
}
else
{
n = atoi(s);
printf("%d\n", n);
}
}
return 0;
}
如果还有后续的操作,可以将输入的字符串转成整数,即函数atoi。
你可以去查一下atoi函数的详细用法。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//判断字符串中是否含有除数字之外的字符
//如果含有除数字之外的字符返回0,如果只含有数字返回1
int func(char *s)
{
int i, t;
t = strlen(s);
for(i=0; i<t; i++)
{
if(s[i]<'0' || s[i]>'9')
{
return 0;
}
}
return 1;
}
int main()
{
int n, z;
char s[10];
while(scanf("%s", s)==1)
{
z = func(s);
//注意我两个printf中的输出格式,一个%s, 另一个%d
if(z==0)
{
printf("%s is not a data\n", s);
}
else
{
n = atoi(s);
printf("%d\n", n);
}
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询