數字字符串轉換成與其面值相同的長整形整數


請編函數fun,其功能是將一個數字字符串轉換成與其面值相同的長整形整數。可調用strlen函數求字符串的長度。

#include   <stdio.h>
#include   <string.h>
void NONO();
long  fun( char  *s )
{
    int i,j,n,t;
    int a[10];
    long m=0;
    n=strlen(s);
    for(i=0;i<n;i++)
    {
        a[i]=s[i]-'0';
        for(j=0;j<n-i-1;j++)
        {
            a[i]*=10;
        }
    }
    for(i=0;i<n;i++)
    {
        m+=a[i];
    }
    return m;
}
main()
{  char  s[10];    long  r;
   printf("請輸入一個長度不超過9個字符的數字字符串 :  ");  gets(s);
   r = fun( s );
   printf(" r = %ld\n" , r );
   NONO();
}

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

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

運行結果


免責聲明!

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



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