根据数组顺序进行排序。

sdsszk 2018-09-14 08:23:20

现在有个功能选择问题:
现在有个数组order[3];其中1代表日期,2代表时间,3代表星期,
假如order[3] = {2, 3, 1};即表示时间 日期 星期;order[3] = {3, 1};即表示星期,日期, 不选择时间;就这样
sprintf(buffer, "%s %s %s", date, time, week);
需要根据order[3]的内容进行排序。
应该怎么写啊,求助
...全文
249 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdsszk 2018-09-15
  • 打赏
  • 举报
回复
基本就是这个意思。这样就有思路了,谢谢了,请问C语言怎么学那,怎么有自己的思维方式。
zangfong 2018-09-14
  • 打赏
  • 举报
回复
你的意思是这样?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAX_SIZE 100

char buf[MAX_SIZE];

char ttime[] = "23:00";
char tdate[] = "2018-09-14";
char tweek[] = "FRIDAY";

int order1[3] = {2,3,1};
int order2[3] = {3,1};

void test(int *ord)
{
int i;
for(i = 0; i < 3; i++)
{
switch(ord[i]){
case 1:
strcat(buf,tdate);strcat(buf," ");break;
case 2:
strcat(buf,ttime);strcat(buf," ");break;
case 3:
strcat(buf,tweek);strcat(buf," ");break;
default:break;
}
}
}


int main()
{
memset(buf,0,sizeof(buf));
test(order1);
printf("%s\n",buf);
memset(buf,0,sizeof(buf));
test(order2);
printf("%s\n",buf);
return 0;
}

sdsszk 2018-09-14
  • 打赏
  • 举报
回复
是这个意思,我需要根据order[3]中的顺序对三个字符进行排序,假如order[3] = {3, 1, 2},顺序则是星期 日期 时间,
order[3] = {2, 1};则是时间 日期,星期不显示;(为0代表不显示),就是这样的;
还要调用sprintf打印出来;
一个项目中的一个小的需求。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧