解题思路:
写一个函数,输入数组后,数组内元素循序逆转

主函数输入数组-->经过函数转换-->主函数输出数组
参考代码:

#include<stdio.h>
#include<string.h>
void invert(char*s);
int main()
{
	int i;
	char a[100];
	scanf("%s", &a);
	invert(a);//经过函数后,s[]完成逆序,直接输出
	printf("%s", a);
	return 0;
}
void invert(char*s)//函数只需要输入一个字符串数组(*s或s[]),没有输出,所以用void
{
	char is[100];//新建一个数组is[],寄存倒序后的原数组s[]
	int i, j;
	for(i=strlen(s), j=0; i>0; j++){//把原数组s[]从后开始,放进数组is[]
		i--;
		is[j] = s[i];
	}
	is[j] = '\0';//最后给is[]加个结束符号
	strcpy(s, is);//整个把is[]复制给s[],完成对s[]的逆序
}

注意事项:

函数内外的数组一定要确定大小,不然用以运行错误(像我就一直出错,还没发现),例如:

char a[]; //是错误的
char a[100]; //是正确的
点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论