如题所述
Cè¯è¨å¤ææ¯å¦ä¸ºæ´æ°ï¼é£ä¹åªå¯è½æ¯å¤æè¾å ¥çå¼ï¼æè å符串ä¸çå¼ï¼æ¯å¦ä¸ºæ´æ°ã
å 为ä¸æ¦åå¨å¨åéä¸ï¼æ ¹æ®åéç±»åï¼è¦ä¹ä¸ºæ´æ°ï¼è¦ä¹ä¸ºæµ®ç¹æ°ï¼æ¯ç¡®å®çã
ä¸ãå¤ææè·¯ï¼
1ãæ´æ°ä¸ï¼æåè¿å¶è®¡ç®ï¼åæ³å符为0å°9ï¼å¦å¤å¨æåä½ç½®å¯ä»¥æ符å·ï¼å³+æè -ã
2ã对äºè¾å ¥çå¼ï¼å¯ä»¥å åå¨å°å符串ä¸ï¼è¿æ ·è½¬æ¢ä¸ºå¤æå符串ä¸æ¯å¦ä¸ºæ´æ°ã
3ãå å¤æ第ä¸ä¸ªå符æ¯å¦ä¸º+æè -, å¦ææ¯ï¼åä»ç¬¬äºä¸ªå¼å§å¤æï¼å¦åä»ç¬¬ä¸ä¸ªå¼å§å¤æã
4ã对æ¯ä¸ä¸ªéè¦å¤æçå符ï¼å¤ææ¯å¦å¨'0'å°'9'ä¹é´ï¼å¦ææ¯ååæ³ï¼å¦åéæ³ã
5ãä¸æ¦åºç°éæ³å符ï¼è¯´æä¸æ¯æ´æ°ãå¦æææå符åæ³ï¼é£ä¹æ¯æ´æ°ã
äºãåè代ç ï¼
int is_int(char *s)//å¤æsä¸æ¯å¦ä¸ºæ´æ°ï¼å¦ææ¯è¿å1ï¼å¦åè¿å0.{
char* p =s;//pæåsã
if(*p=='+'||*p=='-')//å¦æ第ä¸ä¸ªå符为符å·ï¼åä»ç¬¬äºä¸ªå¼å§éåã
p++;
while(*p)//éåå符串ã
{
if(*p<'0'||*p>'9') return 0;//åºç°éæ³å符ï¼è¿å0ï¼è¡¨ç¤ºä¸æ¯æ´æ°ã
p++;//å¤æä¸ä¸ä¸ªå符ã
}
return 1;//ææé½æ¯åæ³å符ï¼è¿å1ï¼è¡¨ç¤ºä¸ºæ´æ°
}
int main()
{
char s[200];
gets(s);//读åè¾å ¥ï¼åå°sä¸ã
if(is_int(s))//å¤æ并è¾åºç»æ
printf("%s æ¯æ´æ°\n", s);
else
printf("%s ä¸æ¯æ´æ°\n",s);
return 0;
}
ret=scanf("%d,%d",&x,&y); //记录scanf函数的
if(ret!=2) //根据scanf函数的返回值,判断输出数据个数或者格式是否错误
{
printf("你输入的数是非整数\n");
while(getchar()!='\n'); //清除输入缓冲区中的错误数据
}本回答被网友采纳
scanf("%f",&x);
if((int)x==x)
printf("%f是整数",x);本回答被提问者采纳
int y=(int)x;
if(x==y)就是正数