C语言 请编写程序实现以下功能:在字符串中所有数字字符前加一个$字符。例如, 输入:A1B23C 20

 我来答
问明6E
高粉答主

2019-06-25 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

#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]='\0';

for(i=0,j=0; t[i]; i++)

/*对于数字字符先写一个$符号,再写该数字字符*/

if(t[i]>='0' && t[i]<='9')

{

s[j++]='$';

s[j++]=t[i];

}

/*对于非数字字符原样写入串s*/

else

s[j++]=t[i];

s[j]='\0';  /*在串s结尾加结束标志*/

return 0;

}

int main()

{

char s[80];

printf ( "Enter a string:" );

scanf ("%s", s);  /*输入字符串*/

fun(s);

printf ("The result: %s\n", s);  /*输出结果*/

return 0;

}

扩展资料:

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出; 另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应,否则将会出现意想不到的错误。

比如:

int a=1234;

printf("a=%d\n",a); 

输出结果为a=1234。

匿名用户
2017-08-25
展开全部
#include<stdio.h>
#include<string.h>

#define MAXLEN  1000
int main()
{
    char s[MAXLEN];
    char t[MAXLEN*2];
    int i, slen, tlen;

    scanf("%s", s);
    slen = strlen(s);
    tlen = 0;
    for(i = 0; i < slen; ++i)
    {
        if(s[i] >= '0' && s[i] <= '9')
        {
            t[tlen++] = '$';
        }
        t[tlen++] = s[i];
    }
    t[tlen] = '\0';
    printf("%s\n", t);
    //如果要修改的是原始字符串,就加上“strcpy(s, t);” 注意字符串长度不要超过MAXLEN.
    return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式