C语言OJ项目参考(2568) 字符串逆序输出

2568: 字符串逆序输出

Description
编写一个函数,功能是使输入的字符串逆序输出。
Input
输入一串字符串,注意字符串中不要有空格。
Output
输出该字符串的逆序。
Sample Input**
ABCDEFG
Sample Output
GFEDCBA
HINT

#include<stdio.h>
#include<string.h>
int main()
{
    char str[100];
    scanf("%s",str);
    int len;
    len=strlen(str);
    int fuction(char *, int);
    fuction(str,len);
    return 0;
}

参考解答:

#include<stdio.h>
#include<string.h>
int main()
{
    char str[100];
    scanf("%s",str);
    int len;
    len=strlen(str);
    int fuction(char *, int);
    fuction(str,len);
    return 0;
}

解1:用下标

int fuction(char *s, int n)
{
    int i;
    for(i=n-1;i>=0;i--)
        printf("%c",s[i]);
    printf("\n");
    return 1; //题目中并未提出对返回值的要求,随便输出1
}

解2:用指针

int fuction(char *s, int n)
{
    char *p;
    for(p=s+n-1;p>=s;p--)
        printf("%c",*p);
    printf("\n");
    return 1; //题目中并未提出对返回值的要求,随便输出1
}
时间: 2025-01-30 12:28:17

C语言OJ项目参考(2568) 字符串逆序输出的相关文章

C语言OJ项目参考(2000)数组逆序

Description 输入10个整数存入一维数组,按逆序重新存放后再输出. Input 输入包括一行.10个以空格隔开的整数. Output 逆序的10个整数,整数以空格隔开. Sample Input 1 3 5 9 7 6 8 2 4 0 Sample Output 0 4 2 8 6 7 9 5 3 1 提示:在OJ平台中,将有一个格式错误可能会让你崩溃.友情提示:输出的最后一个数字后面没有空格. 参考解答: #include <stdio.h> int main() { int a[

课后思考题2:C语言用递归算法,将一个字符串逆序输出,提示:字符串以&amp;amp;#39;\0&amp;amp;#39;结尾。

问题描述 课后思考题2:C语言用递归算法,将一个字符串逆序输出,提示:字符串以''结尾. 课后思考题2:C语言用递归算法,将一个字符串逆序输出,提示:字符串以''结尾. 解决方案 void foo(char * s) { if (!s) return; foo(s + 1); printf("%c", *s); } 解决方案二: void function(char *p) { if(*p=='/0') return ; function(p+1); printf("%c&q

C语言OJ项目参考(2417) 字符串长度

2417: 字符串长度 Description 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. Input 一行字符串 Output 字符串长度 Sample Input** t9g(*&WE3@#$fw2adECWEr Sample Output 22 HINT 主函数已给定如下,提交时不需要包含下述主函数 /* C代码 */ int main() { int stringlen (char *); char str[100]; int len; gets(str);

C语言OJ项目参考(2290)字符串的修改

2290: 字符串的修改 Description 一个字符串s.一个字符串t,判断t是否是s的子串,若是则将s中所有出现了t串的地方换成指定的字符或字符串p,若不是,则输出NO Input 一个字符串s.一个字符串t,要换的字符或字符串 Output 输出修改后的s串 Sample Input** asdfasdf 132 saf Sample Output NO 参考解答: #include<stdio.h> #include<string.h> char str[1002];

C语言OJ项目参考(2274)字符串插入

2274: 字符串插入 Description 将字符串t插入到字符串s中,在位置pos后插入.不得使用字符串操作函数,输出组合成的字符串. Input 输入两个字符串(t和s)和要插入的位置(pos) Output 输出组合后的字符串 Sample Input** qwe jij 3 Sample Output jijqwe 参考解答: #include<stdio.h> int main() { char t[100],s[100],r[200]; int pos,i=0,j=0; get

C语言OJ项目参考(2279) 字符串分段(串)

2279: 字符串分段(串) Description 输入一个字符串,将其分段输出,分段符为除字母和数字之外的符号. Input 输入一个字符串 Output 输出分段后的字符串 Sample Input** ad/adfa,,123d?#a1 Sample Output ad adfa 123d a1 参考解答: #include <stdio.h> int main( ) { char s[20]; int i=0,c=1; //c==0成立时,前面已经遇见了非字母.数字,已经做了换行 g

C语言OJ项目参考(2424)字符串比较

2424: 字符串比较 Description 写一函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为 int stringcmp(char *p1,char *p2); 设p1指向字符串s1,p2指向字符串s2.要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的ASCII码差值(如"BOY"与"BAD",第2个字母不同,"O"与"A"之差为79-65=14).如果s1>s2,则

字符串逆序输出

字符串逆序输出 时间限制:3000 ms  |  内存限制:65535 KB 难度:0 描述 给定一行字符,逆序输出此行(空格.数字不输出) 输入 第一行是一个整数N(N<10)表示测试数据的组数) 每组测试数据占一行,每行数据中间有且只有一个空格(这样你可以把此行当成两个字符串读取). 每行字符长度不超过40 并且保证输入的字符只有空格(1个),数字,小写字母三种 输出 对应每行测试数据,逆序输出(空格和数字不输出) 样例输入 3 abc 123de abc 123 abc d 样例输出 ed

C语言OJ项目参考(2968)递归方法实现逆序

2968: 递归方法实现逆序 Description 你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理. #include <stdio.h> void inverted(int); /*函数声明*/ int main() { int n; /*需要逆序的整数*/ scanf("%d",&n); inverted(n); /*调用逆序函数*/ return 0; } void inver