编写程序
(1) 编写函数 void delstr(chard[],char s[]),把字符串s中的数字字符拷贝到d数组中,形成新串。
(2)编写函数 long atol( char s[]) 把字符串表示的数字序列转化成对应的整数
(3)在 main 函数中输入一个字符串,调delstr 函数,生成只包含数字字符新串,再调用 atol 函数将新串转化成对应的整数。
#include <stdio.h>
void delstr(char d[],char s[])
{
int i=0,j=0;
while(s[j]!= '\0')
{
if(s[j]>='0' && s[j]<='9')
d[i++] = s[j];
j++;
}
d[i] = 0;
}
long atol( char s[])
{
int i=0;
long sum = 0;
while(s[i] != '\0')
{
sum = sum *10 + s[i]-'0';
i++;
}
return sum;
}
int main()
{
char buf[100],s[100];
scanf("%s",s);
delstr(buf,s);
printf("%ld",atol(buf));
return 0;
}
#include <stdio.h>
#include <string.h>
void delstr(char d[],char s[])//把字符串s中的数字字符拷贝到d数组中,形成新串。
{
int i,j=0,len;
len = strlen(s);
for (i = 0; i < len; i++)
{
if (s[i]>='0' && s[i]<='9')
d[j++] = s[i];
}
d[j] = 0;
}
long atol( char s[])
{
int i,n=0,len;
len = strlen(s);
for (i = 0; i < len; i++)
{
n = n*10+s[i]-'0';
}
return n;
}
int main()
{
char s[100];
char d[100];
gets(s);
delstr(d,s);
printf("%ld\n", atol(d));
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
#include <stdio.h>
#include <ctype.h>
void delstr(char d[], char s[])
{
while (*s)
{
if (isdigit(*s))
*d++ = *s;
s++;
}
*d = '\0';
}
long atol(char s[])
{
long r = 0;
while (*s)
{
r = r * 10 + *s - '0';
s++;
}
return r;
}
int main()
{
char s[64], d[64];
scanf("%s", s);
delstr(d, s);
printf("%ld", atol(d));
return 0;
}