用c语言编写程序使字符串中所有数字前加$,不要用指针

在字符串中所有数字字符前加一个$字符。例如, 输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5,不能在打印语句中直接加$。

第1个回答  推荐于2016-02-02
#include<stdio.h>
#include<string.h>
void inset(char a[],int n,char c)
{
   int i=strlen(a);
   while(i>=n)
   {
    a[i+1]=a[i];
    i--;
   }
   a[n]=c;
}
void main()
{
 char str[200];
 scanf("%s",str);
 for(int i=0;str[i]!=0;i++)
 {
  if(str[i]>'0'&&str[i]<='9')
  {
   inset(str,i,'$');
   i++;
  }


 }
 printf("%s\n",str);

}

本回答被提问者采纳
第2个回答  2014-10-24
将输入的字符存入一个数组中,然后一个一个的检测是否是数字字符,若果不是,放入另一个数组中,如果是,将这个字符放入另一个数组之前先放一个"$",直至全部检测完。追问

怎么定义这两个数组 int还是char,放入的过程怎么实现?

第3个回答  2014-10-24
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
scanf("%s",a);
for(int i = 0; a[i]!='\0'; i++)
{
if(i != 0)
printf("$");
printf("%c",a[i]);
}
}追问

这是在前后都加了一个$啊

相似回答