秦子风 发表于 2008-6-17 16:04

c语言编程

3对情侣参加婚礼,新浪为A、B、C.新为X、Y、Z.A说他与X结婚,X说她与C结婚,C说Z是他的新娘。现知他们都在开玩笑。请编程配对。

爱喝牛奶的猫咪 发表于 2008-6-17 16:12

越看越像作业



[flash=400,300]http://yzfy.byethost17.com/flash.php[/flash][color=white]

秦子风 发表于 2008-6-17 16:38

是作业

谢谢啊
[qq]373105361[/qq]

now 发表于 2008-6-17 21:33

想过了——想不出?
OR
偷懒——想找现成的?

coming 发表于 2008-6-17 21:45

我觉得这个把题目之所以你不会做(如果不是不想做)是因为没有抽象出来为模型吧,好好想想啊,一定能做出来的,配对可以理解为相等啊什么的关系都可以的呀,然后用一个循环加一个判断就好了~~~加油哦

smilefeng 发表于 2008-6-18 00:26

我也想想啊

cosdos 发表于 2008-6-18 00:34

看似无意义的题目

himpo 发表于 2008-6-18 11:55

char ch;
for(ch='A';ch<='C';ch++)
?? 可以么

秦子风 发表于 2008-6-18 12:19

回复 8# himpo 的帖子

不错

秦子风 发表于 2008-6-18 12:31

我想出来了

#include<stdio.h>
void main()
{
    char a,b,c;
    for(a='X';a<='Z';a++)
    for(b='X';b<='Z';b++)
    for(c='X';c<='Z';c++)
    {
        if(a==b||b==c||a==c)
        continue;
        if(a!='X'&&c!='X'&&c!='Z')
        {
            printf("A and %c\nB and %c\nC and %c",a,b,c)
            break;
        }
    }
}

子房 发表于 2008-6-18 12:47

回复 10# 秦子风 的帖子

printf("A and %c\nB and %c\nC and %c",a,b,c)


少一个分号 ;

运行你的结果得:

A and Z
B and X
C and Y


你是用 TC 编译的吗?
”void main()“  。。 谭浩强的书有 void  在别的编译器上 编译不了 。。   我是用 VC6 编译的 运行得你那结果

爪哇小帥哥 发表于 2008-6-18 20:31

有没有意义无所谓,
能编上就是好样的~!

放飞秋枫 发表于 2008-6-18 21:20

好!!![tk05]

放飞秋枫 发表于 2008-6-18 21:23

我想了个很恶心的方法。。。
哎。。。
[tk01]
#include<stdio.h>
#include<process.h>
#include<stdio.h>

void main()
{
        int a,b,c,x,y,z,i;
        for(a=1;a<=3;a++)
                for(b=1;b<=3;b++)
                        for(c=1;c<=3;c++)

                                for(x=1;x<=3;x++)
                                        for(y=1;y<=3;y++)
                                                for(z=1;z<=3;z++)
                                                {
                                                        if(  ( (a+b+c)!=6 ) || ( (x+y+z)!=6)  ) continue;
                                                        else if ((a==b) || (x==z)) continue;
                                                        else if ((a==x) || (c==x) || (c==z)) continue;

                                                        for(i=1;i<=3;i++)
                                                        {
                                                                if (a==i) putchar('a');
                                                                else if(b==i) putchar('b');
                                                                else if(c==i) putchar('c');

                                                                if (x==i) putchar('x');
                                                                else if(y==i) putchar('y');
                                                                else if(z==i) putchar('z');

                                                                putchar('\n');
                                                        }
                                                }
        getch();
}[font=Trebuchet MS][font=微软雅黑][/font][/font]

放飞秋枫 发表于 2008-6-18 21:24

别拿结婚开玩笑,知道bo[tk33]

fanshunguo 发表于 2008-6-18 21:32

回复 1# 秦子风 的帖子

#include<stdio.h>
main()
{char x,y,z;
for(x='A';x<='C';x++)
for(y='A';y<='C';y++)
for(z='A';z<='C';z++)
  if(!(x==A||x=='C'||z=='C'))
   printf("x--%c y--%c z--%c",x,y,z);}

jakerbu 发表于 2008-6-19 01:25

这样的点字也想得到
[tk35]

StarWing83 发表于 2008-6-19 02:33

好像有人在群里面问过……

秦子风 发表于 2008-6-20 14:43

回复 11# 子房 的帖子

非常感谢你啊!!!      我太粗心了 忘了那个分号

我是用VC6.0编的    和TC都能运行

页: [1]

编程论坛