怕越界,改成字符串來接收輸入的值了,簡單代碼如下:
#include <string.h>
// 判斷字符串中是否為四位數(shù).
bool Is4WeiShu(const char* szNum)
{
if (NULL == szNum)
return false;
int nLen = strlen(szNum);
if (nLen != 4)
return false;
for (int i=0; i<nLen; ++i)
{
if (szNum[i]<'0' || szNum[i]>'9')
return false;
}
return true;
}
void main()
{
printf("請輸入一個四位數(shù)(0000~9999):");
char szBuf[256] = {0};
scanf("%s", szBuf);
bool bRet = Is4WeiShu(szBuf);
if (!bRet)
{
printf("輸入的不是四位數(shù)!\n");
return;
}
const char* szFlag[] = {"千", "百", "十", "個"};
int nSize = sizeof(szFlag)/sizeof(const char*);
int nLen = strlen(szBuf);
for (int i=0; i<nLen&&i<nSize; ++i)
{
printf("%s位上的數(shù)是:%c\n", szFlag[i], szBuf[i]);
}
}
測試結(jié)果: