离散上机实验报告.docx
离散上机实验报告(闭包运算)姓名:郭志超班级:计131学号: 实验目的:通过编程实现二元关系的自反闭包,对称闭包,传递闭包的计算。#include<stdio.h>#include<string.h>int main()char ch100;char a100,b100,c,s;int i,j,k,n,count;int sign100=0;printf("请输入集合的元素:n");gets(ch);printf("n请输入二元关系R的个数:n");scanf("%d%c",&n,&c);count=n;printf("n请输入二元关系R:n");for(i=0;i<n;i+)scanf("%c%c%c%c",&ai,&c,&bi,&s);printf("该二元关系的自反闭包是:");for(i=0;i<n;i+)if(ai!=bi)printf("<%c %c> ",ai,bi);for(i=0;i<n+1;i+)printf("<%c %c> ",chi,chi);printf("n");printf("该二元关系的对称闭包是:");for(i=0;i<n;i+)printf("<%c %c> ",ai,bi);for(i=0;i<n;i+)if(ai!=bi)for(j=0;j<n;j+)if(bi=aj&&ai=bj)break;if(j=n)printf("<%c %c> ",bi,ai);printf("n");printf("该二元关系的传递闭包是:");for(i=0;i<n;i+)if(ai!=bi)for(j=0;j<n;j+)if(bi=aj && aj!=bj)for(k=0;k<n;k+)if(ak=ai&&bj=bk)break;if(k=n)acount=ai;bcount=bj;count+;for(i=0;i<count;i+)for(j=0;j<count;j+)if(ai=aj&&bi=bj)+signi;if(signi=2)aj=0;bj=0;for(i=0;i<count;i+)if(ai!=0&&bi!=0)printf("<%c %c> ",ai,bi);printf("n");运行截图:总结: 通过这次的上机实验,我了解到了离散数学和计算机的密切关系。这次的上机实验不仅提高了我的编程能力还增加了我学习离散数学的兴趣,提高了我综合运用知识的能力,真正做到知行一致。