鱼C论坛

 找回密码
 立即注册
查看: 2755|回复: 7

字符替换(为什么运行后怎么会多了一个空行)

[复制链接]
发表于 2012-6-7 16:45:50 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
int main()
{
           int n,i,j,k;
           char str[30],ch1,ch2;
           scanf ("%d",&n);
           for (i=0; i<n ; i++)
           {
                       for (j=0 ; ; j++)
                       {
                                  scanf("%c",&str[j]);
                                  if (str[j] == ' ')
                                  {
                                          break;
                                   }
                       }
                      scanf ("%c %c",&ch1,&ch2);
                      for (k=0 ; k<j ; k++)
                      {
                      if (str[k] == ch1)
                      {
                               printf ("%c",ch2);
                      }
                      else
                     {
                                printf ("%c",str[k]);
                     }
          }
           printf ("\n");
}
return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-7 16:45:51 | 显示全部楼层
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int n,i,j,k;
  5.         char str[30],ch1,ch2;
  6.         scanf ("%d",&n);
  7.         getchar();//吞掉回车
  8.         for (i=0; i<n ; i++)
  9.         {
  10.                 for (j=0 ; ; j++)
  11.                 {
  12.                         scanf("%c",&str[j]);
  13.                        
  14.                         if (str[j] == ' ')
  15.                         {
  16.                                 break;
  17.                         }
  18.                 }
  19.                
  20.                 scanf ("%c %c",&ch1,&ch2);
  21.                 getchar();//吞掉回车
  22.                 for (k=0 ; k<j ; k++)
  23.                 {  
  24.                         if (str[k] == ch1)
  25.                         {
  26.                         printf ("%c",ch2);
  27.                         }
  28.                         else
  29.                         {
  30.                         printf ("%c",str[k]);
  31.                         }
  32.                 }
  33.                 printf ("\n");
  34.         }               
  35.        
  36.         return 0;
  37.                        
  38. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-6-7 17:37:23 | 显示全部楼层
你倒数第四行printf ("\n");把这个删掉就不会有多一行了!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-6-7 17:38:51 | 显示全部楼层
本帖最后由 wangyexin 于 2012-6-7 19:58 编辑

这个。。。。。
运行没有发现多的空行啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-8 01:03:06 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-8 01:04:18 | 显示全部楼层
wangyexin 发表于 2012-6-7 17:38
这个。。。。。
运行没有发现多的空行啊

这样输入 : hello-how-are-you o O
会有空行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-6-8 10:20:27 | 显示全部楼层
Elio 发表于 2012-6-8 01:04
这样输入 : hello-how-are-you o O
会有空行

这个输入跟你的代码要求不符合吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-8 11:00:02 | 显示全部楼层
wangyexin 发表于 2012-6-8 10:20
这个输入跟你的代码要求不符合吧

怎样才能这样输入呢??
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-8 04:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表