输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组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