注册 登录
编程论坛 C++教室

if可以这样用吗??

aiyinsitan 发布于 2010-05-06 17:14, 865 次点击
    if((a[0]==a[3])&&(a[0]=a)&&(a[1]==a[4])&&a([1]!=a[2])&&a([2]!=a[0]))
但是他老是显示  错误D:\新建文件夹\ddd.cpp(33) : error C2059: syntax error : 'if'
  用的是Vc 6.0,如果不能这样用该怎么改  敬请大侠帮忙解答
12 回复
#2
烟雨袅袅2010-05-06 17:19
a[0]=a
a([2]!=a[0])
a([1]!=a[2])
有这种用法吗
#3
lijm19892010-05-06 17:21
if((a[0]==a[3])&&(a[0]=a)&&(a[1]==a[4])&&a([1]!=a[2])&&a([2]!=a[0]))
注意。有颜色的地方。。。LZ失误了吧。。
#4
ciweitou1632010-05-06 17:35
楼上两位已经回答了,如果你用的是vs建议安装Visual.Assist.X插件!就会避免这种错误了!
#5
aiyinsitan2010-05-06 17:41
#include"iostream.h"
#include"iostream.h"
#include"math.h"
void main()
{   void tf(int b,char a);
    long k=1,sum=0,b;
    int i,j;
    char ab;
    for(i=1;i<=9;i++)
    {   
        for(j=1;j<=5;j++)
            k=k*10;
        sum=sum+k+i;
    }
    for(i=2;i<=9;i++)
    {
    b=sum/i;
    ab=i+48;
    tf(b,ab);
    }
}

void tf(int b,char ab)
{
    char a[5],i=0,rem;
    int A,B,C;
        do
        {
            rem=b%10;
            b=b/10;
            a[i]=48+rem;
            i++;
        }
        if((a[0]==a[3])&&(a[0]==ab)&&(a[1]==a[4])&&(a[1]!=a[2])&&(a[2]!=a[0]));
        {
            cout<<"A="<<a[0]-48<<"   "<<"B="<<a[1]-48<<"  "<<"C="<<a[2]-48;
        }

}
还是没用,麻烦你们帮我运行一下这个程序了
#6
ciweitou1632010-05-06 18:24
回复 5楼 aiyinsitan
你要实现什么功能?我写的能通过不过没有输出!
程序代码:

#include<iostream>
using namespace std;

void tf(int b,char ab);

int main(void)
{   void tf(int b,char a);
    long k=1,sum=0,b;
    int i,j;
    char ab;
    for(i=1;i<=9;i++)
    {   
        for(j=1;j<=5;j++)
            k=k*10;
        sum=sum+k+i;
    }
    for(i=2;i<=9;i++)
    {
    b=sum/i;
    ab=i+48;
    tf(b,ab);
    }
    return 0;
}

void tf(int b,char ab)
{
    char a[5],i=0,rem;
    int A,B,C;
        do
        {
            rem=b%10;
            b=b/10;
            a[i]=48+rem;
            i++;
        }
    while(i<5);
        if((a[0]==a[3])&&(a[0]==ab)&&(a[1]==a[4])&&(a[1]!=a[2])&&(a[2]!=a[0]))
        {
            cout<<"A="<<a[0]-48<<"   "<<"B="<<a[1]-48<<"  "<<"C="<<a[2]-48;
        }

}
#7
guowei37582010-05-06 18:30
if((a[0]==a[3])&&(a[0]==ab)&&(a[1]==a[4])&&(a[1]!=a[2])&&(a[2]!=a[0]))错了
应该用strcmp比较a[i]和a[j]的大小
#8
aiyinsitan2010-05-06 18:32
回复 6楼 ciweitou163
我是找这样几个数字
ABCAB*A=DDDDDD  其中A,B,C,D多是数字  你的我这里也通不过
#9
2010-05-06 19:00
if((a[0]==a[3])&&(a[0]==ab)&&(a[1]==a[4])&&(a[1]!=a[2])&&(a[2]!=a[0]))
这句是想判断什么呢?
#10
ciweitou1632010-05-06 19:40
有这样的数没?我的代码是这样的:
程序代码:

#include<iostream>
using namespace std;

void tf(int a,int b);                //删选函数;

int main(void)
{
    int a,b;
    int i,j,aaaaaa[10];                //aaaaaa[]存储6位都相同的数;
    for(i=1;i<=9;i++)                //把iiiiii存放在a[i]中;
    {   
    int sum=0;
        for(j=1;j<=6;j++)
    {
            sum+=i;
        i=i*10;
        return sum;            
    }
    aaaaaa[i-1]=sum;
    }
    for(i=1;i<=9;i++)
    {
    for(j=i;j<=9;j++)
    {
            b=j;
            tf(aaaaaa[i-1],b);
    }
    }
    return 0;
}

void tf(int a,int b)
{
    int i=0,k,rem;
    rem=a/b;
    int aa[5];
        while(i<5)            //取abc的值;
        {
        k=rem%10;            
        rem=rem/10;
            aa[4-i]=k;
            i++;
        }
        if((aa[0]==aa[3])&&(aa[0]==b)&&(aa[1]==aa[4])&&(aa[1]!=aa[2])&&(aa[2]!=aa[0]))
        {
            cout<<"A="<<aa[0]<<"   "<<"B="<<aa[1]<<"  "<<"C="<<aa[2];
        }

}
#11
lijm19892010-05-06 19:41
没时间看你代码~~~看了下。。看不懂
程序代码:
#include <iostream>
using namespace std;

int main(void)
{
    int A, B, C, D;
    for(A = 1; A < 10; ++A)
        for(B = 0; B < 10; ++B)
            for(C =0; C < 10; ++C)
                for(D =0; D < 10; ++D)
                {
                    if((A*10000+B*1000+C*100+A*10+B)*A ==
                              D*100000+D*10000+D*1000+D*100+D*10+D )
                        cout<<"A="<<A<<"\nB="<<B<<"\nC="<<C<<"\nD="<<D<<endl;
                }
                return 0;
}
#12
aiyinsitan2010-05-06 20:05
回复 11楼 lijm1989
但是他规定循环不得超过一百次
我把我自己的想法说一下
那个六位数肯定是1111111——999999
然后我自己写一个循环2--9
  先让六位数除以循环中的数然后进行判断
 判断就是要把他们输入到一个数组 然后比较
#13
lijm19892010-05-06 21:16
程序代码:
#include <iostream>
using namespace std;

void tf(int b,int ab);

int main(void)
{
    long k=1,sum=0,b;
    int i,j;
    for(i=1;i<=9;i++)
    {   sum = i;
        for(j=1;j<=5;j++)
            sum=sum*10+i;

    for(k=2;k<=9;k++)
    {
        b=sum/k;
        tf(b,k);
    }
    }
    return 0;
}

void tf(int b,int k)
{
    int a[5],i=0,rem=b;
    do
    {
        a[i]=b%10;
        b=b/10;
        i++;
    }
    while(i<5);
    if((a[4]==a[1])&&(a[4]==k)&&(a[3]==a[0])&&(a[3]!=a[2])&&(a[2]!=a[4]))
    {
        cout<<"A="<<a[0]<<"   "<<"B="<<a[1]<<"  "<<"C="<<a[2]<<endl;
        cout<<a[4]<<a[3]<<a[2]<<a[1]<<a[0]<<"*"<<k<<"="<<rem*k;
    }
   
}
1