给一个数组 19个整数,范围1-20, {1,2,9,11,3,5,7,4,6,8,10,13,14,15,17,16,19,18,20} 请编程找出1-20中少的

给一个数组 19个整数,范围1-20, {1,2,9,11,3,5,7,4,6,8,10,13,14,15,17,16,19,18,20} 请编程找出1-20中少的

第1个回答  推荐于2018-04-11
楼主,1-20一共有20个数吧。。。。o(╯□╰)o
public class SelectNumber {
public static void main(String[] args) {
// 初始化测试数组
int [] NumberArray = {1,2,9,11,3,5,7,4,6,8,10,13,14,15,17,16,19,18,20};
// 设定预期数组长度
int Max = 20;
// 设定临时变量
int t = -1;
// 用选择法给数组排序
for(int i =0;i<NumberArray.length;i++){
for(int j =i+1;j<NumberArray.length;j++){
if(NumberArray[i]>NumberArray[j]){
t = NumberArray[i];
NumberArray[i] = NumberArray[j];
NumberArray[j] = t;
}}}
// 重置临时变量为零
t = 0;
// 循环找到缺失的数据
for(int i = 0;i<Max;i++){
if(NumberArray[i-t]!=(i+1)){
System.out.println("数据["+(i+1)+"]缺失!");
t++;
}}}}
第2个回答  2012-07-08
#include<iostream>
using namespace std;

int main()
{
int a[19]={0};
for (int i=0;i<19;i++)
cin>>a[i];
for (int j=1;j<20;j++)
{
bool flag=false;
for(int q=0;q<19;q++)
{
if(j==a[q]) flag=true;
}
if (!flag) cout<<j;
}
system("pause");
return 0;
}
不明白的话可以追问追问

java de

追答

。。。。。。。那不会,还没学呢= =

本回答被提问者和网友采纳
第3个回答  2012-07-08
直接读书法:从1开始数,经过读解得数组中少的数字为:12