永发信息网

一道C语言竞赛题目,老师要做,很急,求详解!!

答案:2  悬赏:70  手机版
解决时间 2021-04-02 02:49
一道C语言竞赛题目,老师要做,很急,求详解!!
最佳答案
#include 
#include 
#include 
struct Yy{
int ct; //冲突默认为1代表有冲突,为0代表无冲突
char s[40];  //设s引用d 
char d[40];
};
int findit(char *s,struct Yy *y,int m){  //检查s是不是末位引用 
int i;
for(i=0;i if (y[i].ct==0) continue;
if (strcmp(s,y[i].s)==0) return 1;
}
return 0;
}

//void printit(struct Yy *y,int m){   //用于打印测试过程 
// int i;
// for(i=0;i// printf("%d %s %s
",y[i].ct,y[i].s,y[i].d);
// printf("
");
//}

int ctjc(struct Yy *y,int m){  //冲突检测,有冲突返回1,否则返回0 
int i,count1=0,count2=0;
for(i=0;i while(count1!=count2){
count1=count2;count2=0;
for(i=0;i if(findit(y[i].d,y,m)==0) y[i].ct=0;  //检查是不是末位引用 
for(i=0;i }
if (count1==0) return 0; else return 1;
}
int main(){
int i,j,n,m,*a;
FILE *fp;
struct Yy *y;
scanf("%d",&n); //输入共有n组数据
a=(int *)malloc(sizeof(int)*n);
for(i=0;i scanf("%d",&m);  //获取一组数据有多少个引用
y=(struct Yy *)malloc(sizeof(struct Yy)*m);
for(j=0;j scanf("%s%s",y[j].s,y[j].d);
y[j].ct=1;
}
a[i]=ctjc(y,m); 
//printit(y,m);
free(y);

for(i=0;i ",a[i]==1?"Failed":"Passed");
}
全部回答
啥事要啊 我能写这个
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
船舶垃圾怎么处理?
雷风的使用方法
8.4×23+31×2.8怎么巧算
stepin与stepinto有什么区别
为什么现在怎么没有人向上反映底层百姓疾.苦
包头哪里有出售锯未的 多少钱一吨大约 留下电
聪明的一休里说一休哥进了安国寺后就用一休这
什么原因导致人变傻?
安徽安凯汽车股份有限公司是民企么
翻毛皮衣怎么清洗保养
四年级下册人教版语文课文期末考试试卷
沪剧全集mp3求打包分享
求霹雳布袋戏高清版下载~
如何处理低星卡 锁链战记低星卡处理方式
求问相机坏了去哪修比较好
推荐资讯
泉州高铁到老城区坐几路公交
重伤2人轻伤四个人死亡1人属于什么事故
我要考科目一,四川的选的地点是路政科目一
请问,春节股市何时休市?,今年春节何时开始停
中文翻译英语
鞍山铁西工人文化宫什么时候黄的
与4月有关 诗句
女士手相四道纹路 求解
ch3ch2ch2ch2cooh 用系统命名法命名
怎样才是正确的液氮罐使用方法呢?
新疆和丰县塑钢门窗检验去哪个单位检验,检验
勇敢美丽的军统女特工
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?