zoj1244
来源:互联网 发布:网络销售代理产品 编辑:程序博客网 时间:2024/05/16 03:21
题目大意:
给出一系列的赋值语句,假定变量a是有确定值的,其他所有变量都不确定,所有变量均是小写字母。我们必须在执行完这段代码之后输出所有值确定的变量。
解题思路:
用ch数组记录该字母是否被赋值。首先执行ch[0]=1,因为a有确定值,然后我们看右操作数是否被赋值,如果被赋值,则左边变量也要赋值。最后输出结果。
代码如下:
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>int main(){ char str[10]; int n; int cnt; int ch[26]; int i; int count=0; while(scanf("%d",&n)!=EOF&&(n!=0)) { count++; memset(ch,0,sizeof(ch)); ch[0]=1; getchar(); for(i=1;i<=n;i++) { gets(str); if(ch[str[4]-'a']==1) { ch[str[0]-'a']=1; } else { ch[str[0]-'a']=0; } } cnt=0; printf("Program #%d\n",count); for(i=0;i<26;i++) { if(ch[i]==1) { cnt++; printf("%c ",'a'+i); } } if(cnt==0) { printf("none"); } printf("\n\n"); } return 0;}
0 0