当前位置: 代码迷 >> C语言 >> 帮忙看看哪错了。。。。愁死了。。
  详细解决方案

帮忙看看哪错了。。。。愁死了。。

热度:124   发布时间:2007-11-23 16:06:25.0
帮忙看看哪错了。。。。愁死了。。
1.  给定等式    A B C D E     其中每个字母代表一个数字,且不同数字对应不
                             D F G     同字母。编程求出这些数字并且打出这个数字的
              +             D F G     算术计算竖式。
                ───────
                       X Y Z D E
1.
#include<stdio.h>
#include<stdlib.h>
int Is_different(int a[]);
int main(void)
{
    int a,b,c,d,e,f,g,x,y,z;
    int temp[10];
    a=b=c=d=e=f=g=x=y=z=0;
    while(++a<=9)
    while(++b<=9)
    while(++c<=9)
    while(++d<=9)
    while(++e<=9)
    while(++f<=9)
    while(++g<=9)
    while(++x<=9)
    while(++y<=9)
    while(++z<=9){
       temp[0]=a;
       temp[1]=b;
       temp[2]=c;
       temp[3]=d;
       temp[4]=e;
       temp[5]=f;
       temp[6]=g;
       temp[7]=x;
       temp[8]=y;
       temp[9]=z;
       if(Is_different(temp) && a!=0 && x!=0)
       if((a*10000+b*1000+c*100+d*10+e)+2*
       (d*100+f*10+g)==(x*10000+y*1000+z*100+d*10+e)){
       printf("此式子为:\n");
       printf("    %d %d %d %d %d\n",a,b,c,d,e);
       printf("          %d %d %d\n",d,f,g);
       printf(" +        %d %d %d\n",d,f,g);
       printf("-----------------------\n");
       printf("    %d %d %d %d %d\n",x,y,z,d,e);
       }
    }
    system("pause");
    return 0;
}     
   
int Is_different(int a[])
{
    int i,j;
    for(i=0;i<=9;++i)
       for(j=9;j>i;--j)
       if(a[i]==a[j])return 0;
    return 1;
}
搜索更多相关的解决方案: 字母  编程  include  

----------------解决方案--------------------------------------------------------
怎么贴在上面就变了~~是这样的:
int Is_different(int a[])
{
    int i,j;
    for(i=0;i<=9;++i)
       for(j=9;j>i;--j)
       if(a[i]==a[j])return 0;
    return 1;
}
----------------解决方案--------------------------------------------------------
我靠~
那句是if(a [ i ]==a [ j ])
怎么回事~
----------------解决方案--------------------------------------------------------
服了~~
怎么我在这里发帖就没人回啊~~~~~~~
----------------解决方案--------------------------------------------------------
int Is_different(int a[])
{
    int i,j;
    for(i=0;i<=9;++i)
       for(j=9;j>i;--j)
       if(a==a[j])return 0;   //这是什么意思?
    return 1;
}
----------------解决方案--------------------------------------------------------
哦,是论坛程序有问题,[ i]被解释成了斜体

我大概看了一下,程序没问题啊,提示什么错误了?
----------------解决方案--------------------------------------------------------
此问题已解决~谢谢
while循环的问题。不能对每次循环重新赋初始值。
----------------解决方案--------------------------------------------------------
确实是不能赋初值.
弱弱问一句  stilib头文件都包含什么?
is_different函数功能是判断每个数不相等的么? 
int Is_different(int a[])
{
    int i,j;
    for(i=0;i<=9;++i)
       for(j=9;j>i;--j)
       if(a==a[j])return 0;   //这个要改成a[i]==a[j]吧?
    return 1;
}
----------------解决方案--------------------------------------------------------
回复 8# 的帖子
参见2   3楼
----------------解决方案--------------------------------------------------------
  相关解决方案