| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 526 人关注过本帖
标题:请教,统计数字
只看楼主 加入收藏
fyqabc
Rank: 1
等 级:新手上路
帖 子:110
专家分:3
注 册:2006-3-4
结帖率:54.55%
收藏
已结贴  问题点数:5 回复次数:5 
请教,统计数字
有以下10个数字:
3 2 6 6 3 4 5 7 5 7

要求统计出不相同的数字有多少个,分别是多少?

结果显示:
不相同的数字有 6 个,分别是:3 2 6 4 5 7

在此谢过,做不下去了,被这个问题难倒!~
搜索更多相关主题的帖子: 数字 统计 
2010-12-15 11:54
orsonzhang
Rank: 1
等 级:新手上路
帖 子:9
专家分:3
注 册:2010-12-13
收藏
得分:1 
应该可以用数组和指针可以做到,昨天刚学过这一节. 晚上回去验证一下先.
2010-12-15 12:27
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:1 
2楼说的可行
不过不用指针也行
我提供个思路,LZ可以试试
for(i=0;i<10;i++)
for(j=i;j<10;j++)
if(a[i]==a[j])
   k++;
else
printf("%d",a[i]);
2010-12-15 12:37
yono
Rank: 2
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-12-14
收藏
得分:1 
以下供参考。
------------------------------------
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>   
#include<string.h>   
int a[100];
int count=0;
int total=0;

void main()
{
    int i,j;
    printf("input numbers.\ninput e or E for end.\n");
    for(i=0;i<100;i++)
    {
        scanf("%d%c",&a[i],&a[i+1]);
        if(a[i+1]==0)
            if(a[i]==0||a[i]==10||a[i]==32)
                break;
        total++;
        if(a[i+1]==69||a[i+1]==101)
            break;
    }
    for(i=0;i<total;i++)//填空练习下
    {
        int same=0;
        for(j=0;j<i;j++)//填空练习下
        {
            if(a[i]==a[j])
            {
                same=1;
                break;
            }
        }
        if(same!=1)//填空练习下
        {
            a[count]=a[i];
            count++;//填空练习下
        }
        same=0;
    }
    printf("count is:%d\n",count);
    for(i=0;i<count;i++)
        printf("%d ",a[i]);
    printf("\n");
    system("pause");
}
---------------------
全选可见答案
2010-12-16 14:05
海豚小默
Rank: 2
等 级:论坛游民
帖 子:4
专家分:12
注 册:2010-12-4
收藏
得分:1 
程序代码:
#include <iostream>
using namespace std;

#include <cstring>

int main()
{
    char sentence[]="This is a sentence with 7 tokens";
    char *tokenPtr;
    char *a[20];
    int i=0;
    char tt[1000];
    cin.getline(tt,40);
    a[0]=tokenPtr=strtok(tt," ");
    int j=0;
    while(tokenPtr!=NULL)
    {
        i++;
        a[i]=tokenPtr=strtok(NULL," ");
        j++;
    }
    int b[100];
    for(i=0;i<j;i++)
        b[i]=1;
    for(i=0;i<j;i++)
    {
        if(b[i]==1)
        {
            for(int k=i+1;k<j;k++)
            {
                if(!strcmp(a[i],a[k]))
                {
                //    cout<<"*****"<<endl;
                    b[i]++;
                    b[k]=0;
                }
            }
        }
    }
    for(i=0;i<j;i++)
    {
        if(b[i]!=0)
        {
            cout<<a[i]<<"\t"<<b[i]<<endl;
        }
    }

    return 0;
}
2010-12-16 20:52
拂晓晨曦
Rank: 2
等 级:论坛游民
帖 子:87
专家分:44
注 册:2010-10-31
收藏
得分:1 
还是三楼的好,简便易行。。。
编程就忌讳的就是简单问题复杂化。。。。
2010-12-16 21:24
快速回复:请教,统计数字
数据加载中...
 
   



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

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