| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 749 人关注过本帖
标题:帮我看看题目,不知道搞
只看楼主 加入收藏
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
结帖率:96%
收藏
已结贴  问题点数:50 回复次数:9 
帮我看看题目,不知道搞
Description

因为湖南农大的DHCP服务器运行不正常,为了能更好的分配IP地址学校专门请你来管理IP地址的分发。因此,你所要做的就是将所有的IP冲突解决掉。注意,一个IP地址,例如192.168.1.234中,只有最后一段是你所能安排的。而且,规定192.168.1.1为你所负责的网段的网关。若所需安排的计算机数量超过了可能的限制,那么就输出错误信息“Error 1”(注意输出后要换行)。

Input

第一行,一个n(1<=n<=65535),表示你管理的电脑的总数。

Output

n行,每行一个按从小到大顺序安排好的IP地址。

Sample Input


2


Sample Output


192.168.1.2
192.168.1.3


Hint

注意考虑各种情况
搜索更多相关主题的帖子: 湖南农大 IP地址 计算机 服务器 
2010-03-07 10:31
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:10 
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int n, i;
    char buf[20];
    printf("Input : \n");
    scanf("%d", &n);

    if ((n > 256 - 3)|| (n < 1))
    {
        printf("Error 1\n");
        exit(EXIT_FAILURE);

    }
    printf("Output : \n");
    for (i = 0; i < n; i ++)
    {
        sprintf(buf, "\t192.168.1.%d\n", i+2);
        printf(buf);
    }
    exit(EXIT_SUCCESS);
}
不知道我这样理解的对不对。
192.168.1.0(代表域),192.168.1.255(广播地址)这两个地址是不能被分配出去的,192.168.1.1是网关,所以你最多只能分配253个地址出去
2010-03-08 11:41
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:5 
LS的description 是不是不够啊,如果只能分配253个IP,没有必要让你来做啊!
这种题目很可能是...随手写出来的,没有严格考虑!

★★★★★为人民服务★★★★★
2010-03-08 11:59
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
汗一个。。。
我猜是没有出完整题目。。。。按题目意思,我只能理解成这样了
“注意考虑各种情况”很有深意。。。。
2010-03-08 12:06
Devon_Ye
Rank: 4
来 自:广东
等 级:业余侠客
帖 子:124
专家分:282
注 册:2010-1-7
收藏
得分:10 
DHCP分配IP地址
1,要考虑随机性
2,要要考虑不能重复分配一样的IP,IP被分配后,不能再出现在被分配数据中。
实现起来,好像也不那么容易哈
2010-03-08 17:09
dydsdyds
Rank: 6Rank: 6
来 自:Java
等 级:侠之大者
帖 子:217
专家分:457
注 册:2010-2-14
收藏
得分:0 
这样的老师……

c语言刚开一学期,就换开VB...
2010-03-08 20:56
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
为什么要随机?这题中我看不到的样子,高手指点下。


[ 本帖最后由 lijm1989 于 2010-3-8 21:03 编辑 ]
2010-03-08 21:01
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
收藏
得分:25 
我的理解是这样的 只有最后一段是你所能安排的 那么就是从2到255之间无重复的随机数  从小到大输出 代码如下
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
   int i, temp,j,flag,n;
   int a[256];
   scanf("%d",&n);
   if(n>254)
   {
       printf("Error 1!\n");
   return 0;
   }
   srand((unsigned)time(NULL));
  
   for(i=0; i<n; i++)
   {
      temp= rand()%254 + 2;
      flag=0;
        for(j=0;j<=i;j++)
        {
            if(temp==a[j])
             {
                 flag=1;
                  i--;
                 break;
            }
         }
     if(!flag) a[i]=temp;
   }
 for(i=0; i<n; i++)//冒泡排序法
 {
     for(j=0;j<n-1-i;j++)
         if(a[j]>a[j+1])
         {
             temp=a[j];
             a[j]=a[j+1];
             a[j+1]=temp;
         }
 }
for(i=0; i<n; i++)
     printf("%d\n",a[i]);
   return 0;
}
 
2010-03-08 21:02
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
收藏
得分:0 
不好意思 最后输出再改一下
for(i=0; i<n; i++)
     printf("192.168.1.%d\n",a[i]);
   return 0;
2010-03-08 21:05
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
这个题是我们考试的题,我现在也没答案,我开始理解就是1到255只要不重复就可以了,没想到还要用到随机函数,各位谢谢了

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2010-03-09 10:23
快速回复:帮我看看题目,不知道搞
数据加载中...
 
   



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

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