| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 863 人关注过本帖
标题:纠结!看不错哪错了 为什么跟我想要的不一样 保留整数程序题
只看楼主 加入收藏
逆时光飞
Rank: 2
等 级:论坛游民
帖 子:27
专家分:49
注 册:2011-11-5
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:4 
纠结!看不错哪错了 为什么跟我想要的不一样 保留整数程序题
C语言实验——保留整数
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
输入
输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。
输出
输出处理好的字符串str2。
示例输入
$Ts!47&*s456  a23* +B9k示例输出
*47*456*23*9*

我写的
#include<stdio.h>

#include<string.h>

int main()
{
    char str1[100], str2[100] ;
    int flag, j = 0, i , k;
    gets(str1) ;
    k=strlen(str1) ;

    for(i=0 ; i < k ; i++)
    {
        if(str1[i]<'0'||str1[i]>'9')
            flag=1 ;
        else if(flag==1)
        {
            str2[j] = '*' ;
            j++ ;
            flag = 0 ;
        }

            if(str1[i] >= '0' && str1[i] <= '9')
            {
                str2[j]=str1[i] ;
                j++ ;
            }        
    }
      
    if(str1[k-1]<'0'||str1[k-1]>'9')
        str2[j]='*' ;
        printf("%s\n", str2) ;

    return 0 ;
}



搜索更多相关主题的帖子: a23 include Memory 字符串 
2011-11-09 17:07
李梦云
Rank: 2
等 级:论坛游民
帖 子:6
专家分:12
注 册:2011-11-8
收藏
得分:7 
#include "stdafx.h"
#include<string.h>
int main(int argc, char* argv[])
{
    char str1[100]={0},str2[100]={0};
    int flag=0,j=0,i,k=0;
    gets(str1) ;
    k=strlen(str1);

    for(i=0;i<k;i++)
    {
        if((str1[i]<'0')||(str1[i]>'9'))
            flag=1;
        else if(flag==1)
        {
            str2[j]='*';
            j++;
            flag=0;
        }

            if((str1[i]>='0')&&(str1[i]<='9'))
            {
                str2[j]=str1[i] ;
                j++;
            }        
    }
      
    if(str1[k-1]<'0'||str1[k-1]>'9')
        str2[j]='*' ;
        printf("%s\n", str2);

    return 0 ;
}
你试试,现在应该可以了,我试过了


   

2011-11-09 17:48
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
回复 楼主 逆时光飞
下次再发OJ题记得把题目网址发过来

                                         
===========深入<----------------->浅出============
2011-11-09 18:44
恶人打劫
Rank: 2
等 级:论坛游民
帖 子:14
专家分:39
注 册:2011-5-17
收藏
得分:8 
#include <stdio.h>
#include <string.h>
main()
{
    int a,b,i,k=0;
    char str1[80],str2[80];
    gets(str1);
    a=strlen(str1);

    for (i=0;i<a;i++)
    {
        if(str1[i]<=47||str1[i]>=58)
            str1[i]='*';
    }   
    for (i=0;i<a;i++)
        for(b=i;b<a;b++)
        if(str1[i]=='*'&&str1[i+1]=='*')
        {
            for(k=i;k<a;k++)
            {    str1[k+1]=str1[k+2];
               
            }
        }
        puts(str1);
}
2011-11-09 20:08
逆时光飞
Rank: 2
等 级:论坛游民
帖 子:27
专家分:49
注 册:2011-11-5
收藏
得分:0 
回复 4楼 恶人打劫
2011-11-09 21:43
快速回复:纠结!看不错哪错了 为什么跟我想要的不一样 保留整数程序题
数据加载中...
 
   



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

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