编写程序将数字字符串转成整数, 要求数字遇到非字符结束。 如输入-123d456 输 出整数-123。 int ston( _) { int n, flag; flag=1; if( *s = =' +' ) s++; else if( *s = =' - ' ) { flag= - 1; s++; } n =0; while( *s!=' \0' &&( *s> =' 0' &&*s< =' 9' )) { n =n *10+ _; s++; }return _; }main( ) { char s[5]; int n; gets(s); n =ston(s); printf("\n %d \n", n); }
按字符判断,遇到不是数字,则输出。
代码及填空如下所示,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
int ston(char* s)//填空1
{
int n,flag;
flag=1;
if(*s =='+')
s++;
else if( *s =='-' )
{
flag= -1;
s++;
}
n =0;
while(*s!='\0' &&( *s>='0' &&*s<='9' ))
{
n =n *10 + (*s); //填空2
s++;
}
return flag * n;//填空3
}
void main()
{
char s[5];
int n;
gets(s);
n =ston(s);
printf("\n %d \n", n);
}