Enter a string with numeric and non-numeric characters, for example:
A123CDF 456.78cpc876.9er 849.1
The successive numbers are used as a real number, which is stored in an array a . For example 123 stored in a[0],456.78 stored in a[2], and so on, Statistics total number of the number, and output these numbers.
#include <stdio.h>
#include <string.h>
#include <math.h>
#define N 50
int number (char str[],float num[]);
int main () {
Char Str[n];
float Num[n];
int k,i;
Gets (str);
K=number (Str,num);
printf ("%d number \ n", k);
for (i=0; i<k; i++)
{
if (num[i]-(int) num[i]==0)
printf ("%.0f", Num[i]);
else printf ("%g", Num[i]);
}
return 0;
}
int number (char str[],float num[]) {
int i,j;
int k=0;
int t;
float sum=0;
while (str[i]! = ' + ')
{
if (str[i]>= ' 0 ' && str[i]<= ' 9 ') {
sum=0;
while (str[i]>= ' 0 ' && str[i]<= ' 9 ')
{
sum=sum*10+str[i]-' 0 ';
i++;
if (str[i]== '. ')
{
t=i;
i++;
while (str[i]>= ' 0 ' && str[i]<= ' 9 ')
{
sum=sum+ (str[i]-' 0 ') *pow (10,t-i);
i++;
}
}
}
Num[k]=sum;
k++;
}
if (str[i]== '. ')
{
sum=0;
t=i;
i++;
while (str[i]>= ' 0 ' && str[i]<= ' 9 ')
{
sum=sum+ (str[i]-' 0 ') *pow (10,t-i);
i++;
}
Num[k]=sum;
k++;
}
i++;
}
return k;
}
C language-Enter a string to convert consecutive numeric characters to numbers