C语言:离散数学8.1.5 笛卡尔积

[问题描述]

有两个集合A和B,求这两个集合的笛卡尔积A×B。

[输入]

本题有多组测试数据。每组测试数据的格式如下:
第一行先是一个整数n,然后是n个小写字母,整数字母之间均用一个空格分开。
第二行先是一个整数m,然后是m个小写字母,整数字母之间均用一个空格分开。

[输出]

每组测试数据输出一行。该行先输出一个整数k,表示A×B的元素个数,然后是k个有序对(按有序对的字典顺序),每个有序对单独占一行。

[输入样列]

4 a b c f
4 b c e f

[输出样例]

16















   

代码如下:

#include
#include
int main(){
    int n,m;
    char ch1[100],ch2[100];
    int i,j,k;
    scanf("%d",&n);
    gets(ch1);
    scanf("%d",&m);
    gets(ch2);
    printf("%d\n",n*m);
    for(i=0;i='a'&&ch1[i]<='z'){
            for(j=0;j='a'&&ch2[j]<='z'){
                    printf("<%c,%c>\n",ch1[i],ch2[j]);
                }
            }
        }
    }
    return 0;
}

 

 

你可能感兴趣的:(离散数学)