[問題分析]在一個字符串內統計含多少整數的問題核心是如何將數從字符串中分離出來從左到右掃描字符串初次碰到數字字符時作為一個整數的開始然後進行拼數即將連續出現的數字字符拼成一個整數直到碰到非數字字符為止一個整數拼完存入數組再准備下一整數如此下去直至整個字符串掃描到結束
int CountInt()// 從鍵盤輸入字符串連續的數字字符算作一個整數統計其中整數的個數
{int i=a[];// 整數存儲到數組ai記整數個數
scanf(%c&ch);// 從左到右讀入字符串
while(ch!=#)//#是字符串結束標記
if(isdigit(ch))// 是數字字符
{num=0;// 數初始化
while(isdigit(ch)&& ch!=#)// 拼數
{num=num*+ch0;
scanf(%c&ch);
}
a[i]=num;i++;
if(ch!=#)scanf(%c&ch); // 若拼數中輸入了#則不再輸入
}// 結束while(ch!=#)
printf(共有%d個整數它們是i);
for(j=0;j<i;j++)
{printf(%da[j]);
if((j+)%==)printf(\n);} // 每個數輸出在一行上
}// 算法結束
[算法討論]假定字符串中的數均不超過否則需用長整型數組及變量
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/22612.html