当前位置: 首页 > news >正文

C语言:在主函数中输入十个等长的字符串。用另一函数对它们排序,然后在主函数输出这10个已排好序的字符串。

(1)用字符型二维数组

#include <stdio.h>
#include <string.h>
int main()
{void sort(char s[][6]);
 int i;
 char str[10][6];
 printf("input 10 strings:\n");
 for (i=0;i<10;i++)
   scanf("%s",str[i]);
 sort(str);
 printf("Now,the sequence is:\n");
 for (i=0;i<10;i++)
   printf("%s\n",str[i]);
 return 0;
}

void sort(char s[10][6])
{int i,j;
 char *p,temp[10];
 p=temp;
 for (i=0;i<9;i++)
   for (j=0;j<9-i;j++)
     if (strcmp(s[j],s[j+1])>0)
      {strcpy(p,s[j]);
       strcpy(s[j],s[+j+1]);
       strcpy(s[j+1],p);
      }
}

(2)用指向一维数组的指针作函数参数

#include <stdio.h>
#include <string.h>
int main()
{void sort(char (*p)[6]);
 int i;
 char str[10][6];
 char (*p)[6];
 printf("input 10 strings:\n");
 for (i=0;i<10;i++)
   scanf("%s",str[i]);
 p=str;
 sort(p);
 printf("Now,the sequence is:\n");
 for (i=0;i<10;i++)
   printf("%s\n",str[i]);
 return 0;
 }

void sort(char (*s)[6])
{int i,j;
 char temp[6],*t=temp;
 for (i=0;i<9;i++)
   for (j=0;j<9-i;j++)
     if (strcmp(s[j],s[j+1])>0)
       {strcpy(t,s[j]);
        strcpy(s[j],s[+j+1]);
        strcpy(s[j+1],t);
       }
}

运行结果:

相关文章:

  • 数据结构-栈、队列、哈希表
  • PyTorch与TensorFlow的对比:哪个框架更适合你的项目?
  • 什么是动态IP?静态IP和动态IP有什么区别?
  • C++中std::condition_variable_any、std::lock_guard 和 std::unique_
  • UE5控件组件显示UMG文本不正常
  • 1、AI量化学习资料 - 用DEEPSEEK玩转PTrade策略开发.zip\AI量化学习资料 - 1、PTrade策略开发提示词(参考模板).md
  • SpringBoot速成(14)文件上传P23-P26
  • 【JAVA实战】JAVA实现Excel模板下载并填充模板下拉选项数据
  • 【C++】36.C++IO流
  • 级联选择器多选动态加载
  • 洛谷P11042 [蓝桥杯 2024 省 Java B] 类斐波那契循环数
  • Linux系统配置阿里云yum源,安装docker
  • Step-Video-T2V:阶跃星辰发布最强开源视频生成模型(论文详解)
  • 《深度学习》——ResNet网络
  • 单纯禁用Cookie能否保证隐私安全?
  • 跳表的C语言实现
  • MySQL5.7 创建用户并授予超管权限脚本
  • uni-app发起网络请求的三种方式
  • 探讨如何加快 C# 双循环的速度效率
  • 【route】route add命令详解
  • 盐城经济技术开发区党工委书记王旭东接受纪律审查和监察调查
  • 马上评|科学红毯,让科学家成为“最亮的星”
  • 词条数量大幅扩充,《辞海》第八版启动编纂
  • 再现五千多年前“古国时代”:凌家滩遗址博物馆今开馆
  • 中国人民银行等四部门联合召开科技金融工作交流推进会
  • 青海省交通运输厅副厅长田明有接受审查调查