| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1037 人关注过本帖
标题:程序题请救,有重赏
只看楼主 加入收藏
wtuaimmmm
该用户已被删除
收藏
已结贴  问题点数:5 回复次数:12 
程序题请救,有重赏
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 重赏 
2010-05-10 22:49
shuijiashui
Rank: 2
等 级:论坛游民
帖 子:43
专家分:85
注 册:2009-9-1
收藏
得分:1 
这是用c写的,你换成java吧
#include "stdafx.h"
#define N 8
int main(int argc, char* argv[])
{
    int i,j,t,a[N],b[N]={0},k=0;
    for(i=0;i<N;i++)
    scanf("%d",&a[i]);
    for(i=0,k=0;i<N,k<N;i++,k++)//找到重复的数字放到b数组
    {
        for(j=i+1;j<N;j++)
            if(a[i]==a[j])
            {
                b[k]=a[i];   
            }
    }
   
    for(i=0;i<N-1;i++)//在b数字找最大数
    {
        for(j=i+1;j<N;j++)
        {
            if(b[i]<b[j])
              b[0]=b[j];
        }
    }
    printf("%d ",b[0]);
    return 0;
}

[ 本帖最后由 shuijiashui 于 2010-5-11 10:07 编辑 ]
2010-05-11 00:18
dadongzicool
Rank: 6Rank: 6
等 级:贵宾
威 望:11
帖 子:209
专家分:474
注 册:2009-3-20
收藏
得分:3 
数学算法真头疼 想了半天 想了这么个办法

package cn.dadongzicool.chooseNumber;

import java.util.Scanner;
import java.util.Stack;

public class ChooseNumber {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner reader = new Scanner(System.in);
        Stack<Integer> stack = new Stack<Integer>();
        int num[],tempLen;
        int tempNum = 0;
        
        System.out.println("请输入整形数字,以任何非数字字符结束输入:");
        
        while(reader.hasNextInt())
        {
            stack.push(reader.nextInt());
        }
        
        tempLen = stack.size();

        num = new int[tempLen];
        
        for(int i = 0;i < tempLen;i++){
            num[i] = stack.pop();
        }
        //从大到小进行排序
        for(int i = 0;i < num.length;i++){
            for(int j = i + 1;j < num.length;j++){
                if(num[i] <= num[j]){
                    tempNum = num[i];
                    num[i] = num[j];
                    num[j] = tempNum;
                }
            }
        }

        for(int i = 0;i < num.length;i++)
            System.out.println(num[i]);
        
        for(int i = 0;i < num.length - 1;i++){
            if(num[i] == num[i + 1]){
                //对数组依次进行比较,有重复的就输出并结束
                System.out.println("重复且最大的数为:"+num[i]);
                break;
            }
            if(i == num.length - 2){
                //没有重复数字处理
                System.out.println("没有重复的数字,但是最大的数字为"+num[0]);
            }
        }
    }
}

本人出售软件专业毕业设计(包括论文,代码)题目众多,价格从优联系方式:QQ
1635008514(寻找高校代理)
2010-05-11 04:30
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
回复 3楼 dadongzicool
我想你理解错了,应该是输出重复的且最大的数,而不是输出重复的数,输出最大的数,输出值应该只有一个的
2010-05-11 08:39
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
dadongzicool,不好意思啊,我看错了,原来你break;了,你的思路是正确的
2010-05-11 08:45
wtuaimmmm
该用户已被删除
收藏
得分:0 
回复 楼主 wtuaimmmm
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-11 10:50
whys
Rank: 1
等 级:新手上路
帖 子:50
专家分:8
注 册:2009-10-27
收藏
得分:0 
LZ自己问题不说明白,我还真晕

用java写下面程序
  用户输入一个数字如[1,2,3,4,1,2,3,4,21,3,45,12,13,1,2],找到重复的数且最大的数,并输出

我要的是重复次最多的那个值,你这样子怎么来统计最多的那个数呢



2010-05-11 11:20
shuijiashui
Rank: 2
等 级:论坛游民
帖 子:43
专家分:85
注 册:2009-9-1
收藏
得分:0 
这是算法,可能复杂了点,但思路是这个,你可以参考下
#include "stdafx.h"
#define N 8
int main(int argc, char* argv[])
{
    int i,j,t,l,k,a[N],b[N]={0},x=0,c[N]={0};
    for(i=0;i<N;i++)
    scanf("%d",&a[i]);
    for(i=0,l=0;i<N,l<N;i++,l++)//找到重复的数字放到b数组
    {
        for(j=i+1;j<N;j++)
            if(a[i]==a[j])
            {
                  x++;
                c[l]=x;//用来记录重复的次数
                b[x]=a[i];   
            }
    }
   
    for(i=0;i<N-1;i++)//在c比较重复次数的大小 ,找到最大次数  
 {
        for(j=i+1;j<N;j++)
        {
            if(b[i]<b[j])
              k=b[j];
        }
    }
    printf("%d ",b[k]);
    return 0;
}
2010-05-11 12:06
爱OO你
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:30
专家分:181
注 册:2010-4-13
收藏
得分:1 
来看看
匆忙写了写:
import java.util.*;
public class ChooseMaxpandannum {

   public static void main(String[]args)
   {
     //创建一个空Vector
     Vector vNum=new Vector();//double[];
     Scanner sc=new Scanner(System.in);
     Scanner pa=new Scanner(System.in);
     System.out.println("请输入一组整数");
     for(int i=0;i<vNum.size();i++)   
     {
        String num=sc.next();
        vNum.add(num);
         System.out.println(vNum.get(i)+"");
         
         
     }
     //找出重复的整数
       for(int i=0;i<vNum.size();i++)
       {
           for(int j=0;j>i&j<vNum.size();j++)
           {
               if(vNum.get(i)==vNum.get(j))
               {
                   Object pnum=vNum.get(i);
                   pa.add(pnum);
                  
               }
           }
       }
       //输出重复的整数
       for(int i=0;i<pa.size();i++)
       {
           System.out.print(pa.get(i));
       }
       //找出最大的数
       for(int i=0;i<pa.size()-1;i++)
       {
           String tempmax=pa.get(i)>pa.get(i+1)?pa.get(i):pa.get(i+1);
           System.out.println("重复且最大的整数是"+tempmax);
       }
      
   }
      
   
   
   
}

也没调试一下,
看看吧!!

我就是我
2010-05-11 12:14
liubangchuan
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-11 12:59
快速回复:程序题请救,有重赏
数据加载中...
 
   



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

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