解题思路:

思路一:采用插入的形式,将输入字符串中的字符后移,插入空格,遍历结束输出新带空格的字符串。时间复杂度略显复杂,还需要用到链表插入的想法。

思路二:采用指针遍历字符串数组,碰到‘\0’前,输出空格,碰到后输出换行

注意事项:

题目要求输入函数,不是一个数,看到有求余然后打印输出的做法,个人觉得没达到题目要训练的意义。如果输入abcde是否还可以求余打印输出呢。

参考代码:

#include<stdio.h>
void main(){
	char c[100],*p;      //定义初始的字符串数组,以及指针
	gets(c);             //输入任意字符串
	for ( p = &c[0]; *p != '\0'; p++)    //指针指向字符串头部,开始遍历
	{
		putchar(*p);             //打印字符串的一个字符
		if(*(p+1) == '\0')       //追加打印空格,遇到尾部打印回车换行。
			putchar('\n');
		else
			putchar(' ');
	}
}


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论