解题思路:
思路一:采用插入的形式,将输入字符串中的字符后移,插入空格,遍历结束输出新带空格的字符串。时间复杂度略显复杂,还需要用到链表插入的想法。
思路二:采用指针遍历字符串数组,碰到‘\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语言代码)浏览:669 |
Cylinder (C语言描述,蓝桥杯)浏览:1248 |
1157题解浏览:727 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:564 |
DNA (C语言代码)浏览:395 |
C语言训练-亲密数 (C语言描述,反正怎么都能对)浏览:2171 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:670 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:624 |
拆分位数 (C语言代码)浏览:444 |
C语言训练-斐波纳契数列 (C语言代码)浏览:511 |