| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2238 人关注过本帖
标题:求教高手:一个简单编程问题;
只看楼主 加入收藏
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
好复杂的样子。

[此贴子已经被作者于2017-1-16 18:06编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-16 18:00
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:0 
程序代码:
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int temp,mix;
    int a[2][4]={25,55,58,82,7,789,68,66};  //举个例子m1到m4
    int i,b;
       temp=mix=a[1][0];

       for (i=0;i<=4;i++)
   

       {
             mix=a[1][i];     //m1,m2,m3....m10
           if (mix>=temp)
               {temp=mix;  //最小值存入temp
                  b=i;    //用b记录最小m的标号
               }
       }
  

    if(a[0][b]!=0)        //n的b项值不为零
   printf("%d\n 。。。%d",a[1][b],temp);
  


 

  

  

  

  

}

我是硬件工程师
2017-01-16 18:57
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
m1,n1, m2,n2是一一对应的吧
#include<stdio.h>

#include<stdlib.h>

int commp(const void *a, const void *b)
{
    return ((int *)a)[0] - ((int *)b)[0];
}

main()
{
    int a[5][2] = {2,0, 3,3, 4,5, 1,1, 99,22};
    qsort(a, sizeof(a)/sizeof(int)/2, 2*sizeof(int ),commp);
   
    for(int i = 0; i < sizeof(a)/sizeof(int )/2; i++)
    {
        if(a[i][1] != 0)
        {
            printf("%d", a[i][0]);
            break;
        }
    }
   
    return 0;
 }

早知做人那么辛苦!  当初不应该下凡
2017-01-16 19:23
groveer
Rank: 3Rank: 3
来 自:世界的一角
等 级:论坛游侠
威 望:1
帖 子:77
专家分:182
注 册:2013-11-18
收藏
得分:0 
楼主这个感觉用个结构体比较好 m与n在一个结构里 在结构体数组里对m进行排序 然后对n进行判断 当然不用结构体也行 只是结构体感觉更直观些

付出不亚于任何人的努力~
2017-01-16 19:48
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
只取n非零的最小值m,不用排序了吧?
2017-01-16 20:07
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
赞同15楼的~0的n可以在寻找最小值时忽略~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-17 11:42
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
我也写一个~要考虑全部n都为0的极端情况~

程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<windows.h>
#define NUM 10
#define M 10
typedef struct Node
{
    int m;
    int n;
}Node;
Node S[NUM];
void creat()
{
    Node *p=S;
    for (;p-S<NUM;++p)
    {
        p->m=rand()%10;
        p->n=rand()%2;
    }
}
void print()
{
    Node *p=S;

    for (;p-S<NUM;++p)
        printf("%d %d\n",p->m,p->n);
}
Node *fun()
{
    Node *p=S;

    Node *p2=S;

    for (;p2-S<NUM&&p2->n==0;++p2);

    if (p2-S==NUM)
        return NULL;

    for (p=p2;p-S<NUM;++p)
    {
        if (p->m<p2->m&&p->n!=0)
            p2=p;
    }

    return p2;
}
int main()
{
    Node *p=NULL;

    srand((unsigned)time(NULL));

    do
    {
        system("cls");
        creat();

        print();

        p=fun();

        if (p!=NULL)
            printf("\nThe result is:%d %d",p->m,p->n);
        else
            printf("No find this number!\n");

    }while (getch()!='0');
    printf("\n");

    return 0;
}


[此贴子已经被作者于2017-1-17 12:23编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-17 12:22
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
回复 10楼 qdcs
m0最小且n0不等于0,输出m0;

m0最小且n0等于0且n1不等于0,输出m1;

m0最小且n0等于0且n1等于0且n2不等于0,输出m2;

2017-01-17 13:26
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
回复 17楼 九转星河
3 1
8 1
3 0
9 0
5 1
5 0
7 0
2 1
5 1
9 1

The result is:2 1

程序很好,只是难点;需要慢慢理解;参考应用;
2017-01-17 15:10
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
想到一个简单方法,大浪淘沙,发现黄金;

n0不等于0,输出m0;(n0等于0,输出m0乘以100000;)
n1不等于0,输出m1;(n1等于0,输出m1乘以100000;)
n2不等于0,输出m2;(n1等于0,输出m1乘以100000;)
......
......
例如:
m0=1,n0=0;输出m0*100000;
m1=1,n0!=0;输出m1;
m2=-1,n0!=0;输出m2;

然后把数据:m0*100000,m1,m2,......,排序,输出最小值:m2=-1;

OK!




2017-01-17 16:15
快速回复:求教高手:一个简单编程问题;
数据加载中...
 
   



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

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