C primer plus 第六版 第七章 第四题 编程练习答案

Github 地址:这里这里φ(>ω<*)

/* 本程序负责解决一下问题:
   用 if else 语句编写一个程序读取输入,读取到‘#’停止。
   用 感叹号替换原来的句号, 用 两个感叹号替换原来的感叹号; 最次后统计替换次数。
*/

#define _CRT_SECURE_NO_WARNINGS  // 别诧异。我用的是VS2017社区版。貌似VS对于C标准不是很友好。 

 #include<stdio.h>
  int main(void)
  {
  int i=0;//循环用。
int j=0;//计数替换次数。

char file[200];

printf("请输入文章:\n");

    for( i=0,j=0; scanf("%c", &file[i] ) == 1; i++)
    {
      if( file[i] == '#')
      {
      break;
      }
  else if( file[i] == '!' && file[ i+1 ] == '!' )
      {
      //这个if 意思是相邻的两个file数组元素的内容都是字符‘!’时,
//计数一次替换次数。   
         j++;
      }
      else if( file[i] == '!' && file[ i-1 ] != '!' ) 
      {
        
   j++; 
      } 
      else
  {
  ; //空语句。我也不知道else要干嘛了。 
  }
}
 
  printf("\n总替换次数为 %d 次。", j); 
 
getchar();
getchar();


  return 0; 
  }

猜你喜欢

转载自blog.csdn.net/lth_1571138383/article/details/80480624