鱼C论坛

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

[已解决]字符串问题

[复制链接]
发表于 2020-12-17 18:51:51 | 显示全部楼层 |阅读模式

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

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

x
编写程序,输入一个字符串,反转该字符串并输出
最佳答案
2020-12-17 19:15:54
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         char a[1024],b[1024];
  5.         int i,j=0,k;
  6.         gets(a);
  7.         for(i=0;a[i]!='\0';i++)
  8.                 ;
  9.         k=i-1;
  10.         for(k;k>=0;k--)
  11.                 b[j++]=a[k];
  12.         b[j]='\0';
  13.         printf("%s",b);
  14.         return 0;
  15. }
复制代码


需要注释的话,给我说,我给你讲

评分

参与人数 1荣誉 +1 收起 理由
Kasileo + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-17 19:15:54 | 显示全部楼层    本楼为最佳答案   
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         char a[1024],b[1024];
  5.         int i,j=0,k;
  6.         gets(a);
  7.         for(i=0;a[i]!='\0';i++)
  8.                 ;
  9.         k=i-1;
  10.         for(k;k>=0;k--)
  11.                 b[j++]=a[k];
  12.         b[j]='\0';
  13.         printf("%s",b);
  14.         return 0;
  15. }
复制代码


需要注释的话,给我说,我给你讲
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-17 19:15:56 | 显示全部楼层
本帖最后由 风过无痕1989 于 2020-12-17 19:21 编辑
  1. #include<stdio.h>
  2. #include <string.h>

  3. int main()

  4. {
  5.         char c[200], c1;

  6.         int i, j, k;

  7.         printf("Enter a string: \n");

  8.         scanf("%s", c);

  9.         k = strlen(c);

  10.         for (i = 0, j = k - 1;i < k / 2;i++, j--)

  11.         {
  12.                 c1 = c[i];
  13.                 c[i] = c[j];
  14.                 c[j] = c1;
  15.         }

  16.         printf("%s\n", c);

  17. }

  18. void invert(char *s)

  19. {
  20.         int i, j, k;

  21.         char t;

  22.         k = strlen(s);

  23.         for (i = 0, j = k - 1;i < k / 2;i++, j--)

  24.         {
  25.                 t = *(s + i);
  26.                 *(s + i) = *(s + j);
  27.                 *(s + j) = t;
  28.         }
  29. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-17 19:19:10 | 显示全部楼层
本帖最后由 风过无痕1989 于 2020-12-17 19:22 编辑

还是只给你一个吧,另一个是打开电脑里现有的 .txt 文件
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-17 19:28:20 | 显示全部楼层
本帖最后由 fbymelt 于 2020-12-17 19:32 编辑
严凯 发表于 2020-12-17 19:15
需要注释的话,给我说,我给你讲


大佬 我需要
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-17 19:53:38 | 显示全部楼层

#include<stdio.h>
int main()
{
        char a[1024],b[1024];  //定义两个字符数组a和b
        int i,j=0,k;
        gets(a);    //这个gets(a)表示从键盘上获取字符串,就是有点scanf的意思,scanf是一个一个字符的输入,这个可以之间输入字符串,就是多个多个输入
        for(i=0;a[i]!='\0';i++)     //这里是求你输入的字符个数,用i表示
                ;
        k=i-1;          //这个k=i-1,是因为,假如你输入abcd,则i为4,但是从a[0]到a[4]就有5个数了,所以要减1,就是a[0]到a[3]这4个了
        for(k;k>=0;k--)   
                b[j++]=a[k];  //交换,前面定义了j=0,然后这里有一个j++,就是先b[j]=a[k],再j++
        b[j]='\0';   //让第j个元素为字符串结束标识符'\0',不然编译器不知道在那里结束读取,就会出现乱码
        printf("%s",b);   //打印字符串b
        return 0;
}



//还有什么不懂的,就给我说



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-17 20:00:46 | 显示全部楼层
严凯 发表于 2020-12-17 19:53
#include
int main()
{

懂了 非常感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-17 20:07:12 | 显示全部楼层

没事,都是小意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-8 02:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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