📄 test6.c
字号:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "math.h"
int fun(char *str);
int isnumber(char *str);
void main()
{
char *str;
int result;
str=(char *)malloc(10);
do
{
printf("请输入数字字符串:");
gets(str);
}while(isnumber(str)==0);
result=fun(str);
printf("Result=%d\n",result);
return ;
}
int isnumber(char *str)
{
int i;
/*如果第一个字符不是+,-或数字,肯定不是数字字符串*/
if(*str!='-'&&*str!='+'&&!(*str>='0'&&*str<='9'))
{
return 0;
}
/*从第二个字符开始判断,如果其中某个字符不是数字,则返回0*/
while(*(++str)!='\0')
if(!(*str>='0'&&*str<='9'))
{
return 0;
}
return 1;
}
int fun(char *str)
{
int i=0;
int result=0;
int t=1;
/*因为第一位可能是符号位,因此暂时不处理*/
for(i=strlen(str)-1;i>=1;i--)
{
result+=(str[i]-48)*pow(10,strlen(str)-1-i);
}
if(str[i]=='-')
result*=-1;
else if(str[i]=='+')
result*=1;
else
result+=(str[i]-48)*pow(10,strlen(str)-1-i);
return result;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -