解题思路:
思路一:采用插入的形式,将输入字符串中的字符后移,插入空格,遍历结束输出新带空格的字符串。时间复杂度略显复杂,还需要用到链表插入的想法。
思路二:采用指针遍历字符串数组,碰到‘\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分
1 人评分
C语言训练-列出最简真分数序列* (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
1642题解浏览:715 |
sizeof的大作用 (C语言代码)浏览:1450 |
Tom数 (C语言代码)浏览:555 |
剪刀石头布 (C语言代码)浏览:1436 |
简单的a+b (C语言代码)浏览:416 |
良心推荐——>题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言描述——简单明了,时间复杂度低)浏览:1287 |
1197求助浏览:629 |