请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值-1234。 注意:部分源程序存在文件PROGl.C文件中。 请勿改动

admin2013-03-29  31

问题 请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值-1234。
    注意:部分源程序存在文件PROGl.C文件中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
long fun(char*p)
{
}
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 s=0,t; int i=0,j,n=strlen(p),k,s1; //求得字符串长度n if(p[0]==’-’) i++; for(j=i; j<=n一1;j++) { t=p[j]一’0’;//把字符变成数值 s1=10; for(k=j;k
解析 进入fun函数,根据前面的分析:从左到右移动指针p。利用上一步不断把t中的数据左移一位,把p当前所指字符转换成数字再加上低位,从而把数字字符串转换成一个整数。
转载请注明原文地址:https://jikaoti.com/ti/pIn0FFFM
0

最新回复(0)