解题思路:
思路一:采用插入的形式,将输入字符串中的字符后移,插入空格,遍历结束输出新带空格的字符串。时间复杂度略显复杂,还需要用到链表插入的想法。
思路二:采用指针遍历字符串数组,碰到‘\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++代码)(向上取整的一种处理方式)浏览:1663 |
C语言训练-舍罕王的失算 (C语言代码)浏览:1033 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:646 |
C语言训练-大、小写问题 (C语言代码)浏览:2357 |
九宫重排 (C++代码)浏览:2160 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:338 |
字符串比较 (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:785 |
数列问题 (C语言代码)浏览:1022 |
简单的a+b (C语言代码)浏览:443 |