指定位置插入字符
1.问题描述
编写程序实现以下功能:在字符串中的所有数字字符前加一个$字符,例如,输入A1B23CD45,输出A$1B$2$3CD$4$5
2.问题分析
用串S拷贝出另一个串T,对T从头到尾扫描,对非数字字符原样写入串S,数字字符先写一个$再写数字字符,最后在S串尾加结束标志。
3.程序
#include<iostream> using namespace std; void fun(char* s) { char t[80]; int i, j; for (i = 0; s[i]; i++)//串s复制到串t t[i] = s[i]; t[i] = '\0'; for (i = 0, j = 0; t[i]; i++) if (t[i] >= '0' && t[i] <= '9') { s[j++] = '$'; s[j++] = t[i]; } else s[j++] = t[i]; s[j] = '\0';//串s结尾结束标志 } int main() { char s[80]; cin >> s;//输入字符串 fun(s); cout << s << endl;//输出 }