回复 10楼 ehszt
											那个可以自己简单弄弄看 ~
~										
					
	
[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
 程序代码:
程序代码:#include<stdio.h>
int main(void)
{
    char a[301];
    int i=0,n=0;
    while((a[i]=getchar())!='\n')
    {
        if(a[i]>='0'&&a[i]<='9')
             n+=a[i]-'0';
        ++i;
    }
    a[i]='\0';
    puts(n%3==0?"YES":"NO");
    return 0;
}[此贴子已经被作者于2018-4-16 20:58编辑过]
 程序代码:
程序代码:
#include<stdio.h>
#include<ctype.h>
int fun( void );
int main( void )
{
    puts( fun()==0? "YES" : "NO" );
    
    return 0;
}
int fun( void )
{
    int ch=((ch=getchar())=='-'||ch=='+')?0:ch;
        
    unsigned k;
    
    if (!isdigit(ch)&&ch)
        return -1;
   
   for (k=ch;isdigit(ch=getchar());k+=ch);
    if (ch!='\n'||k==0)
        return -1;
        
   return k%3;
}
 ~
~ 程序代码:
程序代码:
#include<stdio.h>
int fun( void );
int main( void )
{
    puts( fun()==0? "YES" : "NO" );
    
    return 0;
}
#include<ctype.h>
#include <errno.h>
int fun( void )
{
    int ch;
    
    unsigned k;
    
    while (isspace(ch=getchar()));
    
    ch=(ch=='-'||ch=='+')?0:ch;
    
    if (!isdigit(ch)&&ch)
    {
        errno=ERANGE;
        return -1;
    }
   
   for (k=ch;isdigit(ch=getchar());k+=ch);
    if (ch!='\n'||k==0)
    {
        errno=ERANGE;
        return -1;
    }
        
   return k%3;
}
[此贴子已经被作者于2018-4-17 11:42编辑过]
