| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1723 人关注过本帖, 1 人收藏
标题:求哪位前辈帮忙解决2道题目!
只看楼主 加入收藏
youyou_wind
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-7
收藏(1)
 问题点数:0 回复次数:22 
求哪位前辈帮忙解决2道题目!
1. 编写福利彩票生成器,每次运行时能随机产生一组福利彩票号码。具体功能:每次程序运行时,能随机产生7个不同的数字,每个数字范围是:1-37,显示数字按照从小到大排序。  例如:03 08 10 20 25 34 37

2. 编写一个程序,从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a[4][4]中,求出二维数组中最大的数据和主对角线上元素之和,并显示结果。

哪位前辈帮忙小弟解决下,我是初学者~谢谢各位帮忙!
搜索更多相关主题的帖子: 前辈 
2008-11-07 19:59
iamah
Rank: 1
等 级:新手上路
威 望:1
帖 子:69
专家分:0
注 册:2008-10-31
收藏
得分:0 
1.

#include "stdio.h"
#include "stdlib.h"
main()
{
    int a,b,c,d,e,f,g,max;
    max=37;
    a=rand()%max;
   
do{
    b=rand()%max;
    }while(b==a);
   
do{
    c=rand()%max;
    }while(c==b||c==a);
   
do{
    d=rand()%max;
    }while(d==c||d==b||d==a);
   
do{
    e=rand()%max;
    }while(e==d||e==c||e==b||e==a);
   
do{
    f=rand()%max;
    }while(f==e||f==d||f==c||f==b||f==a);
   
do{
    g=rand()%max;
    }while(g==f||g==e||g==d||g==c||g==b||g==a);

    printf("%3d%3d%3d%3d%3d%3d%3d",a,b,c,d,e,f,g);
  
    return 0;
}
2008-11-07 20:34
iamah
Rank: 1
等 级:新手上路
威 望:1
帖 子:69
专家分:0
注 册:2008-10-31
收藏
得分:0 
2.
   
#include "stdio.h"


main()
{   int i,j;
    int max,sum=0;
    int a[4][4];
    for(i=0;i<4;i++)
       for(j=0;j<4;j++)
          scanf("%d",&a[i][j]);
     for(i=0;i<4;i++)
       for(j=0;j<4;j++)
          printf("%3d",a[i][j]);

     max=a[0][0];

    for(i=0;i<4;i++)
       for(j=0;j<4;j++)
          {if(max<a[i][j])
              max=a[i][j];

           if(i==j)
           sum+=a[i][j];


           }

 printf("the max number is %3d,the sum is %3d.",max,sum);
  getch();

}
2008-11-07 21:07
gzbao9999
Rank: 1
等 级:新手上路
威 望:1
帖 子:40
专家分:0
注 册:2008-11-5
收藏
得分:0 
第一题
可以用更加贴近实际的方式来做
第一次 37选1 下次36个数可选
第二次 36选1 下次35个数可选
第三次 35选1 ...
...
这样就能一击必中 省去了比较的麻烦
下面编程实现下
-----------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
    int array[37],i,j,num ;
    for(i=0;i<37;i++)
    array[i]=0;
    for(i=37;i>30;i--)
    {
        srand(time(0));
        num=rand()%i+1;
        for(j=0;j<37;j++)
        {
            if(array[j]==0)num--;
            if(num==0)
            {
                array[j]=1;
                break ;
            }
        }
    }
    //打印结果
   for(i=0;i<37;i++)
   {
       if(array[i]==1)
       printf("%2d,",i+1);
   }
}
------------------------
写完之后感觉只有一个:
c中的随机数生成太恶心
2008-11-08 00:42
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
/*******************************************************************************

        编写一个程序,从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a[4][4]
    中,求出二维数组中最大的数据和主对角线上元素之和,并显示结果.

    ----------------------------------------------------------------------

        想说明一下:可能是这个编译器对浮点数的支持不太好,所以在输入的时候,
    scanf("%lf",&a[i][j]);无法运行,所以只有加个中间值tmp.
*******************************************************************************/
#include<stdio.h>
#define N 4
int main(void)
{
    double a[N][N];
    double max=0.0,num=0.0,tmp;
    int i,j;
    for(i=0;i<N;++i)
        for(j=0;j<N;++j)
        {
            scanf("%lf",&tmp);
            a[i][j]=tmp;
            if(max<a[i][j])   max=a[i][j];
            if(i==j)    num+=a[i][j];
        }
    printf("max=%lf,num=%lf\n",max,num);
    return 0;
}
2008-11-08 09:16
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
广陵的代码,我在VC下不用tmp跑的挺正常的,你用什么编译器啊?

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-11-08 11:47
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 6# 的帖子
WIN-TC
2008-11-08 19:25
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
收藏
得分:0 
广陵:你用用这个编译器吧:http://
体积小,不需要安装……

如果你用VIM,我这里有基于minGW的编译脚本。

如果还不满意,我帮你做个WinTC的minGW后端,你还是可以使用WinTC的前端,但实际上是在用minGW来编译代码

反正,放弃那个旧编译器吧?就算是从大小上说,它都不是最优的了(我链接提供的那个,大小9.3M,带VC6和minGW两种编译器)。
2008-11-08 23:11
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
收藏
得分:0 
永夜:
我VIM已经用得很熟了~~真是个好东西~~~最近还在给它写脚本,你想不想看看?
2008-11-08 23:13
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
TO:风住的街道
------

    你所推荐的那款软件下载了,也安装了,也使用了。不过有一个功能弄了半天也没弄明白,就是在DOS下——或者说是运行程序,如何使用?在软件的编译页面我好象没找到这个功能——不应该没有,只是我没找到罢了。

    请提示一下,快捷键或者是哪个菜单下?谢谢。
2008-11-09 00:26
快速回复:求哪位前辈帮忙解决2道题目!
数据加载中...
 
   



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

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