首页 > 试题广场 >

多组_字符串_T组形式

[编程题]多组_字符串_T组形式
  • 热度指数:9765 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定 t 组询问,每次给出一个长度为 n 的字符串 s ,请你将其倒置,然后输出。

输入描述:
第一行有一个整数 t\ (\ 1 \leq t \leq 10^5\ )
随后 t 组数据。
每组的第一行有一个整数 n\ (\ 1 \leq n \leq 10^5\ )
每组的第二行有一个字符串 s,仅包含小写英文字符。
保证 \sum n \leq 10^5


输出描述:
输出 t 行,每行一个字符串,代表倒置后的字符串 s
示例1

输入

3
5
abcde
8
redocwon
9
tfarcenim

输出

edcba
nowcoder
minecraft
这题C语言变量t必须设为long才能过,奇怪了,有谁知道为什么吗
发表于 2025-03-05 22:01:19 回复(1)
C语言简单做法,好理解好上手
#include <stdio.h>

int main() {
    long int num = 0; /* 当前组有多少个字符 */
    long int t = 0; /* 一共多少组 */
    char a[100000];

    /* 有多少组 */
    scanf("%ld", &t); 

    /* 循环打印每一组 */
    while(t)
    {
        scanf("%ld", &num); /* 当前组有多少个字符 */
        getchar();
        for(long int i = 0; i < num; i++)
        {
            scanf("%c", &a[i]);
        }
        for(long int j = num - 1; j >= 0; j--)
        {
            printf("%c", a[j]);
        }
        printf("\n");
        t--;
    }
    return 0;
}


发表于 2025-02-13 21:14:18 回复(0)
C语言基础做法,需要时刻注意换行符也会被读取为字符,故要清楚getchar()的使用时机。
#include <stdio.h>
int main() {
    long  long  n;
    scanf("%lld",&n);
    for(int  i=0;i<n;i++)
    {
        long  long  m;
        scanf("%lld",&m);
        getchar();
        char  a[m];
        for (int j=0;j<m;j++)
        {
            scanf("%c",&a[j]);
        }
        getchar();
        for (int j=m-1;j>=0;j--)
        {
            printf("%c",a[j]);      
        }
        printf("\n");
    }
    return 0;
}

发表于 2025-02-07 20:22:10 回复(0)
#include<stdio.h>

int main()
{
    int t,n;
    int i,j;
    scanf("%d",&t);
    for(i=0;i<t;i++)
    {
        scanf("%d",&n);
        j=n-1;
        char str[n];
        scanf("%s\n",str);
        for(;j>=0;j--)
        {
            printf("%c",str[j]);
        }
        printf("\n");
    }
    return 0;
}
发表于 2024-11-28 16:38:07 回复(0)