单词倒排(C语言)

题目描述:

编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。

输入格式:

输入为一个字符串(字符串长度至多为100)。

输出格式:

输出为按要求排序后的字符串。

输入样例:

I am a student

输出样例:

student a am I

AC代码:

#include<stdio.h>
#include<ctype.h>
#include <bits/stdc++.h>
void flashback(char a[], int j, int p);    //倒序函数
int main(void)
{
    char a[10000];
    int j, i, k, end;
    char temp;
    gets(a);
    end = strlen(a)-1 ;
    for (i = 0; i < end+1; i++)                   //先处理特殊符号
        if (!isalpha(a[i]))                      //非字母将第一个符号替换为‘ ’
        {
            a[i] = ' ';
            j = 0;                               //j用来记录连续特殊带符号的个数
     
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单词接龙是一种游戏,玩家需要在给定的单词列表中,按照首尾字母匹配的顺序依次连接单词,直到无法继续连接为止。在C语言中,我们可以通过使用字符串和循环等基本概念来实现单词接龙。 首先,我们需要定义一个单词列表,可以使用字符数组或字符串数组来存储。例如,可以使用以下代码定义一个含有5个单词的字符串数组: ```c char words[5][10] = { "apple", "elephant", "tent", "tiger", "rat" }; ``` 然后,我们可以编写一个函数来实现单词接龙的逻辑。该函数将接受一个单词列表作为参数,并依次连接匹配的单词。 ```c #include <stdio.h> #include <string.h> void wordChain(char words[][10], int numWords) { char currentWord[10]; int i, j; int chainLength = 0; // 接龙长度 // 遍历单词列表 for (i = 0; i < numWords; i++) { strcpy(currentWord, words[i]); // 复制当前单词作为接龙的起点 chainLength = 1; // 接龙长度初始化为1 // 在单词列表中搜索下一个匹配的单词 for (j = 0; j < numWords; j++) { // 单词的首字母和之前的单词的尾字母相同,且未被使用过 if (currentWord[strlen(currentWord) - 1] == words[j][0] && strcmp(currentWord, words[j]) != 0) { printf("%s -> ", currentWord); strcpy(currentWord, words[j]); chainLength++; // 接龙长度增加 if (chainLength == numWords) { // 如果接龙长度等于单词总数,则接龙完成 printf("%s\n", currentWord); return; } j = -1; // 从头开始搜索下一个匹配的单词 } } } // 无法继续接龙 printf("无法接成龙!\n"); } int main() { char words[5][10] = { "apple", "elephant", "tent", "tiger", "rat" }; wordChain(words, 5); return 0; } ``` 上述代码中,我们定义了一个`wordChain`函数来实现单词接龙逻辑。该函数遍历单词列表,并通过比较首尾字母来匹配单词。如果找到匹配的单词,则将其设置为当前单词,继续搜索下一个匹配的单词。如果接龙完成(接龙长度等于单词总数),则输出接龙结果;如果无法继续接龙,则输出提示。 在`main`函数中,我们定义了一个字符串数组`words`,并调用`wordChain`函数来进行单词接龙。最终程序将输出如下结果: ``` apple -> elephant -> tent -> tiger -> rat ``` 这就是一个基于C语言实现的简单单词接龙游戏。实际上,我们可以根据需求进行更复杂的单词接龙逻辑设计,增加限制条件或规则,使游戏更加有趣和挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值