首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这个程序应该怎样改?多谢

2012-02-05 
这个程序应该怎样改?~~谢谢不要改变与输入输出有关的语句。输入一个字符并回车,再连续输入一批以#结束的字

这个程序应该怎样改?~~谢谢
不要改变与输入输出有关的语句。
输入一个字符并回车,再连续输入一批以   #   结束的字符串(字符串的长度不超过80),遇   ##   则全部输入结束。在每个字符串中查找该字符,如果找到,则输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出“Not   Found”
#include   "stdio.h "
#define   MAXLEN   80
int   main(   )
{     int   count,i,k,flag,sub;
      char   cc,ch,oldch,str[MAXLEN];
      oldch= '   ';
      cc=getchar();
      getchar();
      while((ch=getchar())!= '# '||oldch!= '# '){
            k=0;
            while(ch!= '# '&&   k <   MAXLEN-1){
          str[k++]=ch;
          ch=getchar();
            }
            oldch= '# ';
            str[k]= '\0 ';
            flag=0;
          for(i=0;i <k;i++)
              if(cc!=str[k]){
flag=1;
              sub=k;
              break;}

            if(flag)     printf( "%d\n ",sub);
            else   printf( "Not   Found\n ");
      }
}


[解决办法]
int count,i,k,flag,sub;
char cc,ch,oldch,str[MAXLEN];
oldch= ' ';
cc=getchar();
fflush(stdin);
while((ch=getchar())!= '# '||oldch!= '# '){
k=0;
while(ch!= '# '&& k < MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch= '# ';
str[k]= '\0 ';
flag=0;
for(i=0;i <k;i++)
if(cc==str[i]){
flag=1;
sub=k;
break;}

if(flag) printf( "%d\n ",sub);
else printf( "Not Found\n ");
}
不知道是不是你的意思!

热点排行
Bad Request.