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
原创粉丝点击