首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求字符串中每种十进制的个数(c++) [已结帖,结帖人:bhqt910]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bhqt910
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-11-21 18:28:34 楼主
    #include <iostream.h>
    const n=20;
    void fun4(char* a,int* b){//定义的函数不变;
              for(int j=0;j <10;j++){
    for(int i=0;i <n;i++){
              if(a[i]==char (j)) 
      ++b[j];}

      }
    }
    void main()
    {
    char a[n]={"ser3536565473447884"};
    int c[10]={0,1,2,3,4,5,6,7,8,9};
    int b[10]={0};;
    fun4(a,b);
    for(int i=0;i <10;i++)
    cout < <c[i] < <' ';
    cout < <endl;
    cout < <*b < <' ';
    cout < <endl;
    }

    结果 0 1 2 3 4 5 6 7 8 9
        1
    初学,希望会的给改改,告诉我那块为什么错了。改了一天了。快疯了。谢谢各位了。
    10  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Leejun527
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-21 18:37:461楼 得分:0
    cout < <*b < <' ';改成:
    for(int j=0;i <10;i++)
    {
    cout < <b[i] < <' '; 
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Leejun527
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-21 18:44:222楼 得分:2
    C/C++ code
    cout < <*b < <' ';改成: for(int j=0;j <10;j++) { cout < <b[j] < <' '; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bhqt910
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-21 18:55:263楼 得分:0
    可能是程序本身还有不少错误,我再看看,不过还是谢谢了!
    整不出来不睡了。以前都是玩游戏通宵,这把学习熬次夜。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fhtingtian
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-21 19:09:124楼 得分:8
    C/C++ code
    #include <iostream> using namespace std; void main() { char a[]={"ser3536565473447884"}; int c[10]={0}; int pos=0; for(int i=0;i <strlen(a);i++){ if(a[i]>='0'&&a[i]<='9'){ pos=a[i]-0x30; c[pos]++; } } for (int j=0;j<10;j++) cout<<j<<" "; cout<<endl; for (int k=0;k<10;k++) cout<<c[k]<<" "; cout <<endl; system("pause"); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bhqt910
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-21 19:37:235楼 得分:0
    #include <iostream.h>
    const n=20;
    void fun4(char* a,int* b){        //定义为指针方便数值的传递;
              for(int j=0;j <10;j++){ //十进制数字一次赋值判断;
    for(int i=0;i <n;i++){            //遍历字符串;
              if(a[i]-j=='0')        //用来判断与字符串中的数值是否相等;
      ++b[j];}                      //即b[j]=b[j]+1,
                                    //例:b[0]=b[0]+1,0出现的次数一次相加赋值;
      }
    }
    void main()
    {
    char a[n]={"ser3536565473447884"};
    int c[10]={0,1,2,3,4,5,6,7,8,9};
    int b[10]={0};                  //将b[]数组赋值为0;
    fun4(a,b);                      //函数调用;
    for(int i=0;i <10;i++)
    cout < <c[i] < <' ';              //将用于显示的十个数字输出;
    cout < <endl;
    for(int j=0;j <10;j++)
    {
    cout < <b[j] < <' '; 
    }
    cout < <endl;
    }

    终于弄出来了。判断条件也错了。嘿嘿。谢谢了。
    这是我自己的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wzfxyer
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-21 19:50:286楼 得分:0
    C/C++ code
    #include "stdafx.h" #include <iostream> using namespace std; const int n=20; void fun4(char* a,int* b) {//定义的函数不变; for(int j=0;j <10;j++) { for(int i=0;i <n;i++) { if(a[i]==(j+48)) ++b[j]; } } } int _tmain(int argc, _TCHAR* argv[]) { int num; char a[]={"ser3536565473447884"}; int c[10]={0,1,2,3,4,5,6,7,8,9}; int b[10]={0}; fun4(a,b); for(int i=0;i <10;i++) { cout <<c[i] <<' '; } cout<<endl; for(int i=0;i<10;i++) { cout <<*(b+i) <<' '; } cout <<endl; cin>>num; return 0;
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved