我希望通过通过int fun(java char转int *s)把一个字符串的数字子串转换成整数,并返回整数的个数。

请编写一个 C 函数,该函数将给定的一个字符串转换成整数。求指导
[问题点数:40分]
本版专家分:0
结帖率 80%
CSDN今日推荐
本版专家分:1577
本版专家分:649
本版专家分:649
本版专家分:1577
本版专家分:475
本版专家分:123
本版专家分:298
本版专家分:2133
本版专家分:18
本版专家分:387348
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:2689
本版专家分:10
本版专家分:0
本版专家分:62
本版专家分:615
本版专家分:41194
2013年2月 C/C++大版内专家分月排行榜第二
2013年3月 C/C++大版内专家分月排行榜第三
匿名用户不能发表回复!|
CSDN今日推荐(C语言)将一个数字字符串转换为一个整数
C)"-1234",
long fun ( char *p)
int i, len,
len=strlen(p);
if(p[0]=='-')
{ t=-1; len--; p++; }
x=10*x+(*p-48),p++;
因为字符1的ASCII码为49,所以对单个数字字符来说,(*p-48)即完成数字字符到数字的转换;
因为要满足1234从高位到低位的排列顺序,10*x即排位运算,
所以x=10*x+(*p-48),p++;
return x*t;
{ char s[6];
printf("Enter a string:\n") ;
n = fun(s);
printf("%ld\n",n);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。本题是将一个数字字符串转换为一个整数。_百度知道
本题是将一个数字字符串转换为一个整数。
long fun ( char *p)
/* 以下代码仅供参考 */
int i, len, /* len为串长,t为正负标识 */
len=strlen(p); //计算串长
if(p[0]=='-')
{ t=-1; len--; p++; }
/* 以下完成数字字符串转换为一...
我有更好的答案
#include &stdio.h&long fun(char *s) { long x=0;//初始化x
while(*s) x=x*10+*s++-48; //如果s没有结束就取当前的s+原先的x*10;
//返回最后的结果 }int main(){ long n=fun(&310018&); printf(&%ld&,n); return 0;}其实没你想的这么复杂、、里面的48是字符'0'的ascii码,1的ascii码是49,然后49-48不就把字符串的'1'转成数字的1了么、
出现48,是因为首先是一个字符串数组,即数组的每个域存储的都是字符形式。然后对应ASCII码的48为数字0,(举例说明,如果当前字符为1,其ASCII码则为49,然后减48,就换算为了数字1)。至于你后面说的,输入12-34的情况,如入并不是一个只包含数字的数组,即入参已经不符合要求,输出结果肯定就不正确了,但依然会有输出,且应该还是一个数字,但结果肯定是错误的。
汗,直接%d ,单个输出字符串内的字符,就是整数了
1条折叠回答
为您推荐:
其他类似问题
字符串的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c语言,编写一个fun函数:long fun(char s【】),将一个数字字符串转换成一个整数(不得调换标准库函数_百度知道
c语言,编写一个fun函数:long fun(char s【】),将一个数字字符串转换成一个整数(不得调换标准库函数
转换仅限于正整数).例如,输入字符串啊“1234”则函数转换成为整数1234!!在线等待!! 急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急!!谢谢!!
还不行!!那么回事
我有更好的答案
long fun(char s[]){ while(s[i]!='\0'){
s[i]=s[i]-112;
//112为字符‘0’的ASCII码,
字符和整形数可以直接运算,结果为整数输出数组用%d就可以
采纳率:16%
int pow(int a,int b){
while(b--)
m*=a;}long fun(char s[]),{int i=0;long num=0;while(s[i++]);//获得字符串位数m=i;while(i--){
num+=(s[i]-'0')*pow(10,m-i-1)}}
char s[] =&12345&; m = fun(s);
printf(&%d&, m); return 0;}long fun(char s[]){ sum = atoi(s);}
可以这样,根据字符串来做一个for循环,比如 &1234& 我们就循环4次看到'1' 我就将他减30 后再赋值给一个 long变量,比如 long temp=0; temp=temp*10+*(str+i)-0x30;循环完后 temp就是你要的值,函数最周直接 就可以了
C语言其首部为 int fun( char s[]), 函数的功能为统计字符数组 s 中的英文字母的个数。完整的源程序如下:#include &stdio.h&int fun( char s[]){
int sum=0,i=0;
while (s[i])
if (s[i]&='a'&&s[i]&='z'||s[i]&='A'&&s[i]&='Z')
}}main(){ int count=0; char s[100]; printf(&please enter a string:\n&); gets(s); count=fun(s); printf(&encount=%d&,count);}另外,团IDC网上有许多产品团购,便宜有口碑
用一个函数 *Num=atoi(s[]);
其他3条回答
为您推荐:
其他类似问题
fun函数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。以下试题来自:
问答题请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <string.h>
long fun(char *p)
char s[6];
printf("Enter a string:\n");
printf("%ld\n",n); long fun (char *p)
int flag=1;
if(*p==’-’)
/*负数时......
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 错误:if(*r==*p) {r++;p++}
正确:if(*r==*p) {r++;p++;}
(2) 错误;if(r==’\0’)
正确:if(*r==’\0’)
热门相关试卷
最新相关试卷

我要回帖

更多关于 int fun1 char x 的文章

 

随机推荐