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

卡布列克演算希望帮助

2013-01-28 
卡布列克运算希望帮助,调试了半天,都没调试出来,希望能帮助下!谢谢#includestdio.hint zuhe(int a[4],in

卡布列克运算希望帮助,
调试了半天,都没调试出来,希望能帮助下!谢谢

#include<stdio.h>
int zuhe(int a[4],int n)
{
int i,j,t;
for(i=0;i<4;i++)
{
a[i]=n%10;
n=n/10;
}
/*for(i=0;i<3;i++)//冒泡
for(j=i+1;j<4;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}*/
for(i=0;i<3;i++)
for(j=0;j<3-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
return 1;
}
int getmin(int n)
{
int a[4];
int s=0;
int i,j,t;
zuhe(a,n);
for(i=3;i>=0;i--)
{
t=1;
for(j=0;j<i;j++)
t*=10;
s+=a[i]*t;
}
return s;
}
int getmax(int n)
{
int a[4];
int s=0;
int i,j,t;
zuhe(a,n);
for(i=0;j<4;i++)
{
t=1;//用来组个成4个数的技巧
for(j=0;j<3-i;j++)
t*=10;
s+=a[i]*t;
}
return s;
}
void main()
{
int n=1008;
//printf("请输入无重复的4位数字:");
//scanf("%d",&n);
while(n!=6174)
{
printf("%4d-%4d=%4d\n",getmax(n),getmin(n),getmax(n)-getmin(n));
n=getmax(n)-getmin(n);
}
}

[解决办法]
int getmax(int n)
{
    int a[4];
    int s=0;
    int i,j,t;
    zuhe(a,n);
    for(i=0;j<4;i++)
    {
        t=1;//用来组个成4个数的技巧
        for(j=0;j<3-i;j++)
            t*=10;
        s+=a[i]*t;
    }
    return s;
}

热点排行