void test7()
{
try
{
int[] a = new int[];
int[] num = new int[];
int[] num1 = new int[];
int countnum = ;
int counta = ;
int i;
for (i = ; i < num.Length; i++)
{
num[i] = i + ;
num1[i] = i + ;//方法1用到
countnum = num[i] + countnum;
}
//随机放入
Random rand = new Random();
int temp;
for (i = ; i < a.Length; i++)
{
while (true)
{
temp = rand.Next();
if (num[temp] != )
{
num[temp] = ;
a[i] = temp + ;
break;
}
}
}
foreach (int aa in a)
{
counta = counta + aa; Console.WriteLine(aa+";");
} #region 方法1 推荐,这才是插入完,再查找
int diff = countnum - counta;
List<int> list = num.Where(n => num.Contains(diff - n)).ToList<int>();//验证,num中只剩两个没变0的
List<int> list1 = num1.Where(n => num1.Contains(diff - n) && !a.Contains(n)).ToList<int>();//查找,针对的是没有处理过得原数组
Console.WriteLine("list.count:"+list.Count);
Console.WriteLine("list1.count:" + list1.Count);
foreach (int nn in list)
{
//if (!a.Contains(nn))
//{
Console.WriteLine("没有被放入数组的数(list):");
Console.WriteLine(nn);
//Console.WriteLine("bingo");
//}
}
foreach (int nn in list1)
{
//if (!a.Contains(nn))
//{
Console.WriteLine("没有被放入数组的数(list1):");
Console.WriteLine(nn);
//Console.WriteLine("bingo1");
//}
}
#endregion #region 方法2 太投机取巧了,其实是在随机插入的过程中把插入的全置为0,剩下的就是没插入的
for (i = ; i < a.Length; i++)
if (num[a[i] - ] != )
num[a[i] - ] = ;
//输出
for (i = ; i < a.Length; i++)
{
if (i % == && i > )
System.Console.WriteLine();
System.Console.Write("{0,4}", a[i]);
}
System.Console.WriteLine();
System.Console.Write("没有被放入数组的2个数:");
for (i = ; i < num.Length; i++)
if (num[i] != )
System.Console.Write("{0,4}", num[i]);
System.Console.WriteLine();
#endregion
}
catch (Exception)
{ throw;
}
}

现有1~100 共一百个自然数,已随机放入一个有98个元素的数组a[98].要求写出一个尽量简单的方案找出没有被放入数组的那2个数,并在屏幕上打印这2个数的更多相关文章

  1. java————数组 简单写出一个管理系统

    数组的特点 1,  数组是一块连续的空间,下标描述空间的位置. 2,  下标从0开始,最大下标为数组长度—1.(*.length-1) 3,  数组元素都是变量.(就是每个下标对应的内容).变量的类型 ...

  2. 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数rand10(),该函数能够生成1-10的随机数。

    题目: 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数,该函数能够生成1-10的随机数. 思路: 假如已知一个函数能够生成1-49的随机数,那么如何以此生成1-10的随机数呢? 解法 ...

  3. 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。java算法

    知识点一:equalsIgnore 1.使用equals( )方法比较两个字符串是否相等.它具有如下的一般形式: boolean equals(Object str) 这里str是一个用来与调用字符串 ...

  4. 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复

    产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复 用一个ArrayList存储1到100然后随机产生0到arraylist.size()之间的数字作为下标然后从arrayli ...

  5. 前N个自然数的随机置换

    来自:[数据结构与算法分析——C语言描述]练习2.7 问题描述:假设需要生成前N个自然数的一个随机置换.例如,{4,1,2,5,2}和{3,1,4,2,5}就是合法的置换,但{5,4,1,2,1}却不 ...

  6. php array_rand()函数从数组中随机选择一个或多个元素

    php使用array_rand()函数从数组中随机选择一个或多个元素的方法. 使用array_rand() 函数从数组中随机选出一个或多个元素,并返回.  array_rand(array,numbe ...

  7. CodeForces 702B Powers of Two【二分/lower_bound找多少个数/给出一个数组 求出ai + aj等于2的幂的数对个数】

    B. Powers of Two   You are given n integers a1, a2, ..., an. Find the number of pairs of indexes i,  ...

  8. 设在起始地址为STRING的存储空间存放了一个字符串(该串已存放在内存中,无需输入,且串长不超过99),统计字符串中字符“A”的个数,并将结果显示在屏幕上。

    问题 设在起始地址为STRING的存储空间存放了一个字符串(该串已存放在内存中,无需输入,且串长不超过99),统计字符串中字符"A"的个数,并将结果显示在屏幕上. 代码 data ...

  9. 字节数组X中存放着 0~F共16个十六进制数,请将这些数以十六进制形式显示在屏幕上。

    问题 字节数组X中存放着 0~F共16个十六进制数,请将这些数以十六进制形式显示在屏幕上. 代码 data segment x db 0,1,2,3,4,5,6,7,8,9,0ah,0bh,0eh,0 ...

随机推荐

  1. Microsoft Azure Overview

    Day1 Overview 1. Cloud - Internet scaling / Internet connects / Resource pool 2. Why the cloud?  Rap ...

  2. JSTL标签(转载)

    JSTL标签是一个实现web功能的定制标签库,包括输出功能,条件判断,循环等,使用JSTL标签,为动态编写WEB应用程序提供了很大的方便性,能很好的和Java语言和HTML进行结合.下面我们看看jst ...

  3. js常用操作

    map操作:var map = {};map["a"] = 1;map["b"] = 2; console.log(Object.keys(map)); //[ ...

  4. 通过telnet自动下载cfg配置文件

    源代码如下: import telnetlib import logging import datetime import csv import time def telnetfunc(enbid, ...

  5. git 分支 版本回退

    本地回退: git reset --hard HEAD~ 回退后推送到远程: git push --force .

  6. Vue 上传图片压缩 的问题

    前言 也是很少来写博客了,也是赖吧,哈哈 最近新的进度里有上传图片太大,需要前台进行图片压缩问题,然后查阅了相关资料 上传图片大于100* 1024 的用canvas 来压缩来解决 然后IOS拍照上传 ...

  7. 常见状态码StatusCode

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求. ...

  8. 当return遇到finally

    http://blog.csdn.net/andymu077/article/details/6649812 在try-catch-finally中, 当return遇到finally: 1.在try ...

  9. shell练习--PAT题目1008:数组元素循环右移问题 (失败案例,运行超时)

    一个数组A中存有N(>)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A ...

  10. Sublime text3配置C/C++编译环境

    安装sublime text3后,一直很喜欢使用它看代码(这个高亮配色真的很好看).它默认的运行环境就有C/C++,在写了一个hello world!后正常输出,但在加入scanf()输入后就不行了. ...