| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4253 人关注过本帖
标题:在一段字符串中的数字前加上$符号,这个代码怎么改啊?
只看楼主 加入收藏
喜欢宝贝
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-12-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
在一段字符串中的数字前加上$符号,这个代码怎么改啊?
编写函数fun,它的功能是:在字符串中的数字字符前加一个$字符。例如,输入a1b23cd45,则输出为a$1b$2$3cd$4$5.


#include<stdio.h>
int main(void)
{
    void fun(char string[100]);
    char str[100];
    printf("输入一个字符串:\n");
    gets(str);   
    fun(str);
    puts(str);
}



void fun (char string[100])
{
    int i,j;
   
    for(i=0 ,j=99;  string[i]>='0'&&string[i]<='9',j>=i;  i++,j--)
    {
   
            string[j+1]=string[j];
             string[i] = '$';
        
    }

}
搜索更多相关主题的帖子: include 字符串 
2013-12-17 13:14
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:10 
1. 使用指针传递参数, 才能改变数组的内容
2. fun()函数内用一个中间数组
程序代码:
#include <stdio.h>

void fun(char *);   // 用指针传递参数

int main()
{
    char str[100]; 

    scanf("%s", str);
    fun(str); 
    puts(str);
    return 0;
}

void fun (char *p)
{
    int i,j;
    char temp[100];  // 定义一个数组保存转换的字符串 
 
    for(i=0 ,j=0; j < 100 && p[i] != '\0';  i++, j++)
    {   
        if (p[i] >= '0' && p[i] <= '9') {
            temp[j] = '$';
            j++;
        }
        temp[j] = p[i];
    }
    temp[j] = '\0';
    for (i = 0; i <= j; i++)
        p[i] = temp[i];   // 再把字符串保存到原数组.
} 

2013-12-17 14:49
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:10 
试试楼上的程序吧。。。目测。。。思路一样。吧字符串存在一个新的数组内。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-17 16:14
快速回复:在一段字符串中的数字前加上$符号,这个代码怎么改啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061534 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved