解题思路:

输入输出做在主函数,自定义函数用于逆序排列字符数组,方法是首尾字符互换

注意事项:

参考代码:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    char *str,input;    //创建指针数组变量str,创建字符变量input存放每次读取的字符
    int n=20,i,j;
    str=(char*)calloc(n,sizeof(char));      //动态数组长度初始化
    for(i=0;(input=getchar())!='\n';i++)
    {
        if(n-1==i)      //读取的长度等于数组初始化长度时,扩容
        {
            n+=20;
            str=(char*)realloc(str,n);      //动态数组扩容
        }
        str[i]=input;
    }
    fanxu(str,i-1);
    for(j=0;j<i;j++)
    {
        if(str[j]==' ')
            continue;
        printf("%c",str[j]);
    }
	return 0;
}



//自定义函数使字符数组逆序重新排列,思路是让数组数据首尾互换
void fanxu(char str[],int n)    //形参为字符数组名,及有效字符长度n
{
    int i,j,middle;    //i用于遍历,j用于标定数组中间位置,middle用于字符首尾转换
    j=(n+1)/2;
    for(i=0;i<j;i++)
    {
        middle=str[i];
        str[i]=str[n-i];
        str[n-i]=middle;
    }
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论