数字字符串转换成与其面值相同的长整形整数

请编函数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
" , 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, '
');
    if (p) *p = 0;
    r = fun(s);
    fprintf(wf, "%ld
", r);
  }
  fclose(fp) ;
  fclose(wf) ;
}

运行结果

原文地址:https://www.cnblogs.com/wlei5206/p/12755706.html