
c现代方法 p210页的一个程序-关于字符串的一个例子
发布日期:2021-05-07 00:55:53
浏览次数:22
分类:原创文章
本文共 1760 字,大约阅读时间需要 5 分钟。
#include <stdio.h>#include <string.h>//define the max length of every message #define MSG_LEN 80//define max number of message#define MAX_MSG 60int read(char message[],int n);void print(char message[][MSG_LEN + 3],int n);int main(){//define two dimension of array to store date and message char reminders[MAX_MSG][MSG_LEN + 3] = {""};char empty[MSG_LEN + 3]= ""; //define to storage to store date int day_num;char day_str[3];//define message to store the messagechar message[MSG_LEN + 1];int count = 0;/*char array[MSG_LEN + 1];read(array,MSG_LEN);int i = 0;for(i = 0; i!= MSG_LEN + 1 && array[i] != '\0';i++) { printf("%c\n",array[i]); }*/for(;;){ if(count == MAX_MSG) { printf("--remainders are full."); break; } //"%2d" in funtion scanf can only receive two characters scanf("%2d",&day_num);if(day_num == 0)break;sprintf(day_str,"%2d",day_num);//read(message,MSG_LEN);int i = 0,label = count -1;for(i = 0 ; i != count && count > 0; ++i){if(strcmp(day_str,reminders[i]) < 0) { label = i; break; }}for(i = count - 1;i >= label && i >= 0 &&count > 0; --i) strcpy(reminders[i+1],reminders[i]);strcpy(reminders[label],day_str);strcat(reminders[label],message);count ++;}//for//print(reminders,MAX_MSG);int j = 0;for(;j != MAX_MSG ;j++){printf("line:%d\n",j);printf("%s",reminders[j]);printf("\n");if(strcmp(reminders[j], "") == 0) break;char arr1[12]= "";char arr2[2] = "";printf("compare %d:",strcmp(arr1,arr2));}return 0;}int read(char *message,int n){int i = 0;char ch;char *p = message;while( (ch = getchar()) != '\n'){ if(i < n) { *p = ch; p ++; i ++; } else break;}*p = '\0';return i;}void print(char message[][MSG_LEN + 3],int n){int i = 0;for(i = 0; i != MAX_MSG; ++i){printf("%s",message[i]);printf("\n");}}
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月01日 15时32分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java Objects工具类重点方法使用
2019-03-06
Java内存模型(JMM)
2019-03-06
AQS相关
2019-03-06
abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)
2019-03-06
WCF学习之旅—第三个示例之一(二十七)
2019-03-06
java ThreadPoolExecutor初探
2019-03-06
Markdown进阶
2019-03-06
快速指数算法
2019-03-06
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
2019-03-06
SpringCloud微服务(03):Hystrix组件,实现服务熔断
2019-03-06
Spring 框架基础(01):核心组件总结,基础环境搭建
2019-03-06
JavaEE基础(02):Servlet核心API用法详解
2019-03-06
SpringBoot2 整合Nacos组件,环境搭建和入门案例详解
2019-03-06
结构与算法(03):单向链表和双向链表
2019-03-06
Hadoop框架:MapReduce基本原理和入门案例
2019-03-06
ThreadPoolExecutor线程池任务执行失败的时候会怎样
2019-03-06
Sentry快速开始并集成钉钉群机器人
2019-03-06