編寫函數fun,將一個數字字符串轉換為一個整數,例如,輸入字符串"-1234",則函數把他轉換為整數值-1234


#include <stdio.h>
#include <string.h>
long  fun ( char *p)
{
  int len,t;
long x=0;
len=strlen(p);
if(p[0]=='-')
{t=-1;len--;p++;}
else t=1;
while(*p)
x=10*x+(*p-48),p++;

return x*t;
}

main()   /* 主函數 */
{ char s[6];void NONO ();
  long    n;
  printf("Enter a string:\n") ;
  gets(s);
  n = fun(s);
  printf("%ld\n",n);
  NONO (  );
}

void NONO ()
{/* 本函數用於打開文件,輸入數據,調用函數,輸出數據,關閉文件。 */
  FILE *fp, *wf ;
  int i ;
  char s[20] ;
  long n ;

  fp = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(fp, "%s", s) ;
    n = fun(s);
    fprintf(wf, "%ld\n", n) ;
  }
  fclose(fp) ;
  fclose(wf) ;
}



第二種解法:
long fun(char *p)
{
long n=0;
int flag=1;
if(*p=='-')
{p++;flag==-1;}
else
if(*p=='+')
p++;
while(*p!='\0')
{
n=n*10+*p-'\0';
p++;
}
return n*flag;
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM