1 背景
第6天的题目终于是中文题目了,而且看着还挺不难的样子……
2 题目:后缀子串排序
题目描述
对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain
输入描述:
每个案例为一行字符串。
输出描述:
将子串排序输出
意思大致是:
对于每种情况,输出三行,分别显示该情况的加法(a+b)、减法(a-b)和乘法(a×b)的精确结果,每行一个结果。
示例
输入
grain
输出
ain
grain
in
n
rain
代码
1 | #include <stdio.h> |
3 分析
头文件#include <stdlib.h>中的常用函数
double atof(const char *str) | 把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型) |
---|---|
int atoi(const char *str) | 把参数 str 所指向的字符串转换为一个整数(类型为 int 型) |
void *malloc(size_t size) | 分配所需的内存空间,并返回一个指向它的指针 |
void free(void *ptr) | 释放之前调用 calloc、malloc 或 realloc 所分配的内存空间 |
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void , const void)) | 数组排序 |
int abs(int x) | 返回 x 的绝对值 |
int rand(void) | 返回一个范围在 0 到 RAND_MAX 之间的伪随机数。 |
头文件#include <string.h>中的常用函数
char *strcat(char *dest, const char *src) | 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾 |
int strcmp(const char *str1, const char *str2) | 把 str1 所指向的字符串和 str2 所指向的字符串进行比较 |
int strncmp(const char *str1, const char *str2, size_t n) | 把 str1 和 str2 进行比较,最多比较前 n 个字节 |
char *strcpy(char *dest, const char *src) | 把 src 所指向的字符串复制到 dest |
char *strncpy(char *dest, const char *src, size_t n) | 把 src 所指向的字符串复制到 dest,最多复制 n 个字符 |
size_t strlen(const char *str) | 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符 |
char *strstr(const char *haystack, const char *needle) | 在字符串 haystack 中查找第一次出现字符串 needle(不包含空结束字符)的位置 |
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以邮件至 xingshuaikun@163.com。