关于“有故事背景的程序设计”这一专栏,前面已经有很多篇,但是我觉得还是分享的不到位,比如与单链表、文件操作等知识点相联系的有趣程序设计还没有和大家分享,所以,在这里和大家再一次分享一些有趣的代码,希望大家能在看文章的过程中收获知识和快乐,让我们一起坚持在学习编程这条路上吧!
目录
1.解密藏头诗
藏头诗的一种常见形式是每一句第一个字构成一句话。给定一首中文藏头诗,取出每句第一个汉字连在一起并输出。要求用指针数组实现。
算法实现如下:
假设藏头诗有n句,设字符串指针数组str[n]存储藏头诗,字符数组firstWords存储解密结果,函数DecPoertry实现解密藏头诗。
1.初始化字符序列firstWords为空串;
2.循环变量i从0~n-1,重复执行下述操作:
2.1取str[i]的第一个汉字存储到firstWords的末尾;
2.2i++;
3.返回字符数组firstWords
代码实现如下:
#include<stdio.h>
#include<string.h>
char* DecPoetry(char*str[],int n);
int main()
{
char*poem[4] = {"一江眺无边","帆扬弄翩翩","风劲舟行快","顺达弹指间"};
char firstWords[10];
strcpy(firstWords,DecPoetry(poem ,4));
printf("藏的句子是:%s\n",firstWords);
return 0;
}
char* DecPoetry(char*str[],int n)
{
int i;
static char firstWords[10] = {'\0'};
char temp[4] = {'\0'};
for(i = 0;i < n;i++)
{
strncpy(temp,*(str+i), 2);
strcat(firstWords,temp);
}
return firstWords;
}</