輸入一個字符串,內有數字和非數字字符,將其中連續的數字作為一個整數,依次存放到一數組a中。統計共有多少個整數,並輸出這些數。


 
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>

int main(){
    setvbuf(stdout,NULL,_IONBF,0);
    char s[255];
    int a[255];            //存放得到的整數
    int i,length;
    int f(char *s,int *a);

    printf("Input the string:");
    gets(s);
    length=f(s,a);
    printf("There are %d numbers.\n",length);
    printf("They are:");
    for(i=0;i<length;i++)
        printf("%d ",a[i]);

    return EXIT_SUCCESS;
}

int f(char *s,int *a){
    char *p;
    int t[255];                //存放一個整數的每位數
    int len=strlen(s);
    int flag=0;                //標記當前字符是否為0-9
    int i=0,j;
    int num=0;                //整數的個數
    for(p=s;p<=s+len;p++)     //把最后的\0字符也當作非數字字符處理
    {
        if(*p>='0'&&*p<='9')
        {
            flag=1;
            t[i++]=*p-'0';    //把字符'0'~'9'裝換為數字0~9
        }
        else if(flag==1)     //如果當前字符非數字字符,且前一個字符為數字字符時,開始記錄整數
        {
            a[num]=0;
            for(j=0;j<i;j++)
                a[num]=a[num]+t[j]*pow(10,i-1-j);

            num++;
            flag=0;
            i=0;
        }
    }
    return num;
}
//如果使用VC,去掉第7行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 10.16輸入一個字符串,內有數字和非數字字符,如: a123x456 17960? 302tab5876 將其中連續的數字作為一個整數,依次存放到一數組num中。例如123放在num[0]中,456放在num[1]中……統計共有多少個整數,並輸出這些數。 輸入一個字符串,內有數字和非數字字符,例如:A123x456 17960? ,302tab5876,將其中連續的數字作為一個整數,依次存放到一數組a中。例如,123放在a[0],456放在a1[1].....統計共有多少個整數,並輸出這些數 輸入一個字符串,內有數字和非數字字符。例如:a123x456 17960 302tab5876。將其中連續的數字作為一個整數,依次存放到一維數組a中,例如123放在a[0],456放在a[1]……統計共有多少個整數,並輸出這些數。 輸入一個字符串,內有數字和非數字字符,例如:a123x456 17960? 302tab58768。將其中連續的數字作為一 輸入一個字符串,統計共有多少個整數並輸出。 C語言——輸入一個字符串,將連續數字字符轉換為數字學習筆記 如何將一個數字字符串數組轉化為數字整數數組? 提取一個字符串中的數字,並將其轉為數組 有一個字符串,其中包含中文字符、英文字符和數字字符,請統計和打印出各個字符的個數。 有一個字符串,其中包含中文字符、英文字符和數字字符,請統計和打印出各個字符的個數 統計一個字符串中大寫字母字符和小寫字母字符,數字字符出現的次數
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM