怕越界,改成字符串来接收输入的值了,简单代码如下:
#include
#include
// 判断字符串中是否为四位数.
bool Is4WeiShu(const char* szNum)
{
if (NULL == szNum)
return false;
int nLen = strlen(szNum);
if (nLen != 4)
return false;
for (int i=0; i
{
if (szNum[i]'9')
return false;
}
return true;
}
void main()
{
printf("请输入一个四位数(0000~9999):");
char szBuf[256] = {0};
scanf("%s", szBuf);
bool bRet = Is4WeiShu(szBuf);
if (!bRet)
{
printf("输入的不是四位数!n");
return;
}
const char* szFlag[] = {"千", "百", "十", "个"};
int nSize = sizeof(szFlag)/sizeof(const char*);
int nLen = strlen(szBuf);
for (int i=0; i
{
printf("%s位上的数是:%cn", szFlag[i], szBuf[i]);
}
}测试结果: