cdsg


私信TA

用户名:dotcpp0701227

访问量:1473

签 名:

正十七

等  级
排  名 1144
经  验 3160
参赛次数 1
文章发表 82
年  龄 0
在职情况 学生
学  校 安徽师范大学
专  业

  自我简介:

落第儒生,顾府家丁。 卖面老板,随军参谋。 景泰状元,长洲知州。 十年水怪,三眼大叔。 飘飘何所似?天地一沙鸥。

TA的其他文章

解题思路:

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

注意事项:

参考代码:

#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 人评分

  评论区

  • «
  • »