分析C语言在字符串的指定位置插入字符
发布时间:2021-12-05 14:19:07 所属栏目:教程 来源:互联网
导读:问题描述请编写程序,实现以下功能:在字符串中的所有数字字符前加一个$字符。例如,输入 test1test2www.linuxidc.com3test35678 ,输出 test$1test$2www.linuxidc.com$3test$3$5$6$7$8。 详解C语言在字符串的指定位置插入字符 问题分析 在字符串S的所有数字
问题描述请编写程序,实现以下功能:在字符串中的所有数字字符前加一个$字符。例如,输入 test1test2www.linuxidc.com3test35678 ,输出 test$1test$2www.linuxidc.com$3test$3$5$6$7$8。 详解C语言在字符串的指定位置插入字符 问题分析 在字符串S的所有数字字符前加一个$字符,可以有两种实现方法。 方法一:用串S拷贝出另一个串T,对串T从头至尾扫描,对非数字字符原样写入串S,对于数字字符先写一个$符号再写该数字字符,最后,在S串尾加结束标志。使用此方法是牺牲空间,赢得时间。 方法二:对串S从头至尾扫描,当遇到数字字符时,从该字符至串尾的所有字符右移一位,在该数字字符的原位置上写入一个$。使用此方法是节省了空间,但浪费了时间。 本题采用方法一,下面是完整的代码: #include <stdio.h> int fun(char *s) { char t[80]; int i, j; for(i=0; s[i]; i++) /*将串s拷贝至串t*/ t[i]=s[i]; t[i]=' |