首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮忙指点一下异常在哪里

2012-03-02 
帮忙指点一下错误在哪里/*加密四位正整数*/#include stdio.hmain(){intnum,a,b,c,d,iprintf( 输入一个

帮忙指点一下错误在哪里
/*加密四位正整数*/  
#include <stdio.h>  
main()  
{  
            int   num,a,b,c,d,i;  
             
            printf( "输入一个四位正整数:\n ");  
            scanf( "%d ",&num);  
             
            while(num!=EOF){  
            a=num/1000;  
            b=num%1000/100;  
            c=num%100/10;  
            d=num%10;  
             
            a=(a+7)%10   ;  
            b=(b+7)%10   ;  
            c=(c+7)%10   ;  
            d=(d+7)%10   ;  
             
             
             
            i=a;  
            a=c;  
            c=i;  
            i=b;  
            b=d;  
            d=i;  
             
            printf( "%d%d%d%d ",a,b,c,d);  
             
            printf( "输入一个四位正整数:\n ");  
            scanf( "%d ",&num);  
            }  
             
            return   0;  
            }  
             
----------------------------  

/*解密四位正整数*/  
#include <stdio.h>  
main()  
{  
            int   num,a,b,c,d,i;  
             
            printf( "输入一个四位正整数:\n ");  
            scanf( "%d ",&num);  
             
            while(num!=EOF){  
            a=num/1000;  
            b=num%1000/100;  
            c=num%100/10;  
            d=num%10;  
             
            i=a;  
            a=c;  
            c=i;  
            i=b;  
            b=d;  
            d=i;  


             
            a=a+10-7;  
            b=b+10-7;  
            c=c+10-7;  
            d=d+10-7;  
             
            printf( "%d   %d   %d   %d   \n ",   a,   b,   c,   d);  
             
            printf( "输入一个四位正整数:\n ");  
            scanf( "%d ",&num);  
            }  
             
            return   0;  
            }  
             
--------------------------  
输入某些数字的时候会出现有1在前面,意思有点像是代表正负位.  
但是我觉得不应该有这种问题的啊,帮忙看一下  

我用的是DEV-C++编译器    


[解决办法]
a=a+10-7;
b=b+10-7;
c=c+10-7;
d=d+10-7;
这里要求余
a%=10;
b%=10;
c%=10;
d%=10;

热点排行