鱼C论坛

 找回密码
 立即注册
查看: 1010|回复: 1

[已解决]c语言,有没有大佬帮忙解答一下

[复制链接]
发表于 2022-3-2 18:22:29 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 fishshen 于 2022-3-2 19:56 编辑

请编写一段程序,实现如下功能:将某一非标准化的全英文段落进行标准化 处理后并输出。即将该段落中的所有大写字母转化为小写字母,相邻两个单词 间的空格只能有一个(即删除两个单词间的多余空格)。
最佳答案
2022-3-3 08:44:58
本帖最后由 jhq999 于 2022-3-3 08:56 编辑
  1. int fun(char instr[])
  2. {
  3.         int i=0,j=0;
  4.         while(instr[i])
  5.         {

  6.                 if(instr[i]==0x20)
  7.                 {
  8.                         if (instr[i+1]!=0x20)
  9.                         {
  10.                                 instr[j]=0x20;
  11.                                 j++;
  12.                         }
  13.                 }
  14.                 else
  15.                 {
  16.                        
  17.                         if(instr[i]>='A'&&instr[i]<='Z')
  18.                                 instr[j]=instr[i]+'a'-'A';//instr[i]+=32;
  19.                         else
  20.                                 instr[j]=instr[i];
  21.                         j++;
  22.                 }
  23.                 i++;
  24.         }
  25.         instr[j]='\0';
  26.         return j;
  27. }
  28. int main()
  29. {
  30.         char ch[256]="1234 aBCdfg     hGhh kFk ";
  31.         int ret=fun(ch);
  32.         printf("%s",ch);
  33.         return 0;
  34. }
复制代码
  1. 1234 abcdfg hghh kfk
复制代码

或者
  1. if(instr[i]!=0x20||instr[i+1]!=0x20)
  2.                 {
  3.                
  4.                
  5.                        
  6.                         if(instr[i]>='A'&&instr[i]<='Z')
  7.                                 instr[j]=instr[i]+'a'-'A';//instr[i]+=32;
  8.                         else
  9.                                 instr[j]=instr[i];
  10.                         j++;
  11.                 }
复制代码
  1. 1234 abcdfg hghh kfk
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-3 08:44:58 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jhq999 于 2022-3-3 08:56 编辑
  1. int fun(char instr[])
  2. {
  3.         int i=0,j=0;
  4.         while(instr[i])
  5.         {

  6.                 if(instr[i]==0x20)
  7.                 {
  8.                         if (instr[i+1]!=0x20)
  9.                         {
  10.                                 instr[j]=0x20;
  11.                                 j++;
  12.                         }
  13.                 }
  14.                 else
  15.                 {
  16.                        
  17.                         if(instr[i]>='A'&&instr[i]<='Z')
  18.                                 instr[j]=instr[i]+'a'-'A';//instr[i]+=32;
  19.                         else
  20.                                 instr[j]=instr[i];
  21.                         j++;
  22.                 }
  23.                 i++;
  24.         }
  25.         instr[j]='\0';
  26.         return j;
  27. }
  28. int main()
  29. {
  30.         char ch[256]="1234 aBCdfg     hGhh kFk ";
  31.         int ret=fun(ch);
  32.         printf("%s",ch);
  33.         return 0;
  34. }
复制代码
  1. 1234 abcdfg hghh kfk
复制代码

或者
  1. if(instr[i]!=0x20||instr[i+1]!=0x20)
  2.                 {
  3.                
  4.                
  5.                        
  6.                         if(instr[i]>='A'&&instr[i]<='Z')
  7.                                 instr[j]=instr[i]+'a'-'A';//instr[i]+=32;
  8.                         else
  9.                                 instr[j]=instr[i];
  10.                         j++;
  11.                 }
复制代码
  1. 1234 abcdfg hghh kfk
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 13:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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