輸入一個字串,內有數字和非數字字符,例如:a123x456 17960? 302tab5876
將其中連續的數字作為一個整數,依次存放到一陣列a中,例如,123放在a[0],456放在a[1], ...,
用函式實作,int draw_digit(char *str, int* a),其中str是字串,a是一個陣列,回傳值表示整數的個數,
主程式中讀入字串,呼叫函式,然后在主程式中輸出這些整數和整數個數,
#include<stdio.h>
int flag = 0;
int draw_digit(char* str, int* a)
{
int num = 0;
for (; *str != '\0'; str++)
{
if ((*str >= '0') && (*str <= '9'))
{
num = num * 10 + (*str - '0');
if (((*(str + 1) < '0')) || ((*(str + 1) > '9')))
{
*a = num;
a += 1;
num = 0;
flag++;
}
}
}
return flag;
}
int main()
{
char str[100];
int a[100] = { 0 }, i;
gets_s(str);
draw_digit(str, a);
if (flag == 0)
{
printf("no integers!");
return 0;
}
for (i = 0; a[i] != 0; i++)
printf("%d ", a[i]);
printf("\n%d\n", flag);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/403901.html
標籤:其他
上一篇:輸出這行文本中每個單詞的長度
下一篇:樹形dp
