编写一个函数func,通过略去非数字字符,将字符串s转换为 一个整数

作者&投稿:兆昆竹 (若有异议请与网页底部的电邮联系)
编写一个函数func,通过略去非数字字符将字符串 s转换为一个整数(不得调用C语言提供的将字符串转整函数)~

第一,循环语句中的逗号要改成分号,第二,功能也不对,题目要求返回字符串转换的数。
按题意,实现如下:
func(char *s)
{
int i,k;
long num;

num=0;
k=1;
for(i=0;s[i]!='\0';i++)
{
if(num==0 && s[i]=='-') k=-1;
if(s[i]>='0'&&s[i]<='9') num=num*10+s[i]-'0' ;
}
return num*k;
}

#include long func(char* s){ int sum = 0; for(int i=0;s[i]!='\0';i++) {if(s[i]>='0'&&s[i]<='9')sum = sum*10+(s[i]-'0'); } return sum;}int main() { char s[100]; scanf("%s",s); long num = func(s); printf("%ld
",num); return 0;}

#include <stdio.h>
#include <ctype.h>

int func(char *s)
{
int i;
int j = 0;
char buffer[256];
for(i = 0; s[i] != '\0'; i++)
{
if(isdigit(s[i]))
{
buffer[j] = s[i];
j++;
}
}
buffer[j] = '\0';
return (atoi(buffer));
}

把数字拿出来不就得了,为什么要去掉非数字啊

大哥,你写的啥东东啊 for(k;*(s+k)!='\0';k++)
前面不是判过么,这句肯定满足的。

long func(char *s)
{
int i,j,k;
long int sum=0;
for(i=0,k=0;*(s+i)!='\0';i++)
{
if(*(s+i)<48||*(s+i)>57)
{
*(s+k) = *(s+i);
k++;
}
}
for(j=0;i!=0;j++,i--)
sum=sum+(*(s+j)-'0')*pow(10,i-1);
return(sum);

}

编写一个函数func,作用是返回两个浮点数的和!
答:就是写个函数来调用这个min函数。 比如: int main() { double a = 1.3, b = 2.3; double dMax; dMax = max(a,b); return dMax; }

请编写函数fun(),其功能是
答:include<stdio.h> int main(){ void fun(double*x,double*y,double*sum,double*sub);double a,b,sum,sub;printf("请输入两个浮点数:");scanf("%lf %lf",&a,&b);fun(&a,&b,&sum,&sub);printf("两数之和为:%1.2lf\n",sum);printf("两数之差为:%1.2lf\n",sub);return...

Python。重复元素判定。编写一个函数,接受列表作为参数
答:代码如下:def func1(num_list):if len(num_list) != len(set(num_list)):return Trueelse:return Falseif __name__ == '__main__':num_list = [[1, 2, 3, 4], [6, 7, 8], [4, 5, 6, 6, 6]]for one_list in num_list:print(func1(one_list))运行结果:...

编写一个递归函数计算从1加到100的和
答:int fun(int x){if(x>1)return x+fun(x-1);elsereturn x;}main(){int sum;sum=fun(100);printf("sum=%d\n",sum);}

编写一个递归函数计算从1加到100的和
答:int fun(int x){if(x>1)return x+fun(x-1);elsereturn x;}void main(){int sum;sum=fun(100);printf("sum=%d\n",sum);}

编写一个函数,选出能被 3 整除且至少一位是 5 的两位数,用主函数调用...
答:测试可用.程序结果: 15,45,51,54,57,75#include <stdio.h>void main(){ int func(int i); int r; int i; for(i=10;i<100;i++) { r=func(i); if(r!=0) printf("%d\n",r);}}int func(int a){ if(a%3==0 &&(a%10==5||a/10==5)) return (a); el...

c语言 编写一个函数,选出能被3整除且至少一位是5的两位数,用主函数调...
答:测试可用.程序结果: 15,45,51,54,57,75 include <stdio.h> void main(){ int func(int i);int r;int i;for(i=10;i<100;i++){ r=func(i);if(r!=0)printf("%d\n",r);} } int func(int a){ if(a%3==0 &&(a%10==5||a/10==5))return (a);else return (0);}...

编写一个C语言的函数
答:{ min = b;} else min = c;g_max=max;g_mix=min;} main(){ int a, b, c;int max = 0,min=0;printf("请输入三个整数:");scanf("%d %d %d", &a, &b, &c);max_mix_func(a, b, c, &max,&min);printf("最大数是:%d 最小数:%d\n", max,min);return 0;} ...

c语言能不能在一个文件中写一个函数,然后再另一个文件中调用?
答:当然可以啦。举个例子吧:两个文件 main.c function.c 我们在function.c 中写一个函数 func();与此同时,我们需要写一个.h文件来声明这个函数,即function.h // 以下是function.h 的内容 ifndef __FUNCTION_H__define __FUNCTION_H__void func();endif // 以下是function.c 的内容 include...

编写一个函数,并用程序调用此函数。函数的功能是求n!(12>n>0)_百度...
答:include "string.h"#include "stdio.h"long func(long lVar){long lResu=1,i;for(i=1;i<=lVar;i++)lResu*=i;return lResu;} void main(){long lIpt;for(lIpt=1;lIpt<12;lIpt++)printf("%d!=%d\n",lIpt,func(lIpt));} 请采纳,谢谢!