C语言:输入一个字符串,然后逆序输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:输入一个字符串,然后逆序输出相关的知识,希望对你有一定的参考价值。

输入一个字符串,然后逆序输出,要求主函数调用fun函数,fun的功能是逆序排列,然后输出,谢谢

#include <stdio.h>

int main()

 int len,i;

char str[100];

gets(str);

len=strlen(str);

for(i=len-1;i>=0;i--)

printf("%c",str[i]);

return 0;

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

参考技术A

#include<stdio.h>

#include<string.h>

main()

int i,j,t,n;

char a[10];

printf("请输入字符串:");

gets(a);

n=strlen(a);

for(i=0;i<=n/2;i++)

t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

for(j=0;j<n;j++)

printf("%c",a[j]);

printf("\\n"); 

 

拓展资料:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

参考资料:C语言_百度百科



参考技术B

可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。

字符串实际长度可以用strlen函数来计算。

方法程序如下:

#include<stdio.h>

#include<string.h>

main()

char a[10];int i,j;

scanf("%s",a);

j=strlen(a);

for(i=j-1;i>=0;i--)

printf("%c",a[i]);

printf("\\n");

扩展资料:

C语言高效编程技巧:

一:以空间换时间

计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题

二:数学方法解决问题 

数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。

三:使用位操作

实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。

在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。

参考资料来源:百度百科-C语言

参考技术C #include <stdio.h>
#include <string.h>
void fun(char a[])

int i,length;char t;
length=strlen(a);
for(i=0;i<length/2;i++)

t=a[i];
a[i]=a[length-1-i];
a[length-1-i]=t;


main()

char a[10];
printf("input a string:");
gets(a);
puts(a);
fun(a);
puts(a);

//调试成功本回答被提问者采纳
参考技术D 本程序已运行成功。
#include <stdio.h>
#include <string.h>
fun(char c[20])
int len,i;char *p,b[20];
p=c;
len=strlen(c);
while(*(p+1)!='\0')p++;
for(i=0;i<len;i++)
b[i]=*p;
p--;

b[i]='\0';
puts(b);
printf("\n");

main()
char a[20];
printf("\nPlease Enter a string:\n");
gets(a);
fun(a);

C语言,写一个函数,使输入的字符串逆序

如果说用两个数组的话,我会做。我想知道,可不可以用一个数组,然后使用指针来完成?

完整的。。

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int main()

    char str[100];
    gets(str);
    int i = 0;
    char ch;
    int len = strlen(str);
    for(i = 0; i < len / 2; i++)
    
        ch = str[i];
        str[i] = str[len - i - 1];
        str[len - i - 1] = ch;
    
    puts(str);
    return 0;

结果:

参考技术A 一个数组当然可以做啊,问题是你希望用户输入的字符串是任意长度的吗追问

假设我有一个char s[100],然后使用gets(s),让用户输入,能行么

追答

你想让用户输入的字符串逆序存到s中去?

参考技术B 你学过链表么?就是要用数组做么???追问

链表没学到。不过您也可以写一下链表方法。用数组和指针不能么?

追答

你是在函数里面的话就这样写
// m是总共有多少字符
char temp
for(int i = 0;i<(m/2);i++)

temp = a[m-1-i];

a[m-1-i] = a[i];

a[i] = temp;

以上是关于C语言:输入一个字符串,然后逆序输出的主要内容,如果未能解决你的问题,请参考以下文章

C语言:任意输入一个三位整数,然后逆序输出。如123变为321。

字符串逆序输出 c语言

JAVA输入一个数字逆序输出?

c语言程序 输入一字符串存入数组中,逆序存放并输出

c语言字符串逆序输出。

C语言:编写一个函数,将一个字符串按逆序存放。在主函数中输入和输出字符串。