解题思路:
思路一:采用插入的形式,将输入字符串中的字符后移,插入空格,遍历结束输出新带空格的字符串。时间复杂度略显复杂,还需要用到链表插入的想法。
思路二:采用指针遍历字符串数组,碰到‘\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语言代码)浏览:698 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:566 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1432 |
C语言训练-自由落体问题 (C语言代码)浏览:650 |
复数求和 (C语言代码)浏览:994 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:812 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:539 |
字符串对比 (C++代码)浏览:597 |
C语言程序设计教程(第三版)课后习题4.9 (Java代码)浏览:630 |
C语言训练-百钱百鸡问题 (C语言代码)浏览:684 |