40-语言入门-40-C小加之随机数
#include <stdlib.h>
#include <memory.h>
//定义无效值
#define INVALIDATE_DATA -1
//处理数据
static void handlerData();
//插入数据,按从大到小的顺序,且不能重复
static void insertArrBySort(int *arr,int arrLen,int inputData,int *resultCount);
//输出结果
static void printArr(int *arr,int arrLen);
int main()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
while(readLen > 0)
{
handlerData();
--readLen;
}
return 0;
}
//处理数据
static void handlerData()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
int arrLen = readLen;
int resultCount = arrLen; //记录不相同的数目
int *arr = (int*)malloc(sizeof(int)*arrLen);
memset(arr,INVALIDATE_DATA,sizeof(int)*arrLen);
while(readLen>0)
{
int inputNumber = 0;
scanf("%d",&inputNumber);
insertArrBySort(arr,arrLen,inputNumber,&resultCount);
--readLen;
}
//处理换行输入
getchar();
printf("%d\n",resultCount);
printArr(arr,arrLen);
free(arr);
}
//插入数据,按从大到小的顺序,且不能重复
static void insertArrBySort(int *arr,int arrLen,int inputData,int *resultCount)
{
int index = INVALIDATE_DATA;
int i=0;
for(;i<arrLen;++i)
{
if(arr[i] == inputData) //有重复数据不做处理
break;
if(arr[i] < inputData) //定位到存放该数据的索引位置
{
index = i;
break;
}
}
if(index != INVALIDATE_DATA && index < arrLen) //需要移动数据
{
if(arr[index] != -1)
{
i=arrLen - 1;
for(;i>index;--i)
{
arr[i] = arr[i-1];
}
}
arr[index] = inputData;
}
else
{
--(*resultCount);
}
}
//输出结果
static void printArr(int *arr,int arrLen)
{
int i=arrLen-1;
for(;i>=0;--i)
{
if(arr[i] == INVALIDATE_DATA) //有重复数据不做处理
continue;
printf("%d ",arr[i]);
}
printf("\n");
}
40-语言入门-40-C小加之随机数的更多相关文章
- C++语言入门知识点(详细版)【持续更新每周三更】,小舒舒戳这里!!!
时间过得好快啊,LITTLESUN已经在这块新地图摸打滚爬了一个多月了.前一段时间出了点小意外一直没能更新博客,昨天被小舒舒催更了(惭愧惭愧)便准备着手来一篇回忆录回首一下这一个月走过的风风雨雨,也希 ...
- Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo
Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo 值得注意的变化: 1.其父类 TScrollBox 的许多特性也很有用处, 如: Memo1.UseSma ...
- 【南阳OJ分类之语言入门】80题题目+AC代码汇总
小技巧:本文之前由csdn自动生成了一个目录,不必下拉一个一个去找,可通过目录标题直接定位. 本文转载自本人的csdn博客,复制过来的,排版就不弄了,欢迎转载. 声明: 题目部分皆为南阳OJ题目. 代 ...
- 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书
<C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...
- c语言入门到精通怎么能少了这7本书籍?
C语言作为学编程最好的入门语言,对一个初进程序大门的小白来说是很有帮助的,学习编程能培养一个人的逻辑思维,而C语言则是公认的最符合人们对程序的认知的一款计算机语言,很多大学都选择了使用C语言作为大学生 ...
- C语言中的调试小技巧
C语言中的调试小技巧 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的 ...
- 入门Leaflet之小Demo
入门Leaflet之小Demo 写在前面 ---- WebGIS开发基础之Leaflet GIS基本概念:GIS.Map.Layer.Feature.Geometry.Symbol.Data(Poin ...
- C/C++编程笔记:C语言入门知识点(三),请收藏C语言最全笔记!
今天我们继续来学习C语言的入门知识点,第一课:C/C++编程笔记:C语言入门知识点(二),请收藏C语言最全笔记! 21. 输入 & 输出 当我们提到输入时,这意味着要向程序填充一些数据.输入可 ...
- 《Ruby语言入门教程v1.0》学习笔记-01
<Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...
- C语言入门(1)——C语言概述
1.程序与编程语言 我们使用计算机离不开程序,程序告诉计算机应该如何运行.程序(Program)是一个精确说明如何进行计算的指令序列.这里的计算可以是数学运算,比如通过一些数学公式求解,也可以是符号运 ...
随机推荐
- 简单说说DNS劫持_firefox吧_百度贴吧
简单说说DNS劫持_firefox吧_百度贴吧 DNSSEC
- 集群Cluster介绍
来源:http://www.ibm.com/developerworks/cn/linux/cluster/lw-clustering.html简单的说,集群(cluster)就是一组计算机,它们作为 ...
- SQL:将查询结果插入到另一个表的三种情况!
一:如果要插入目标表不存在: select * into 目标表 from 表 where ... 二:如果要插入目标表已经存在: insert into 目的表 select * from 表 wh ...
- tengine + lua 实现流量拷贝
环境搭建参考地址:http://www.cnblogs.com/cp-miao/p/7505910.html cp.lua local res1, res2, action action = ngx. ...
- D3.js系列——布局:弦图和集群图/树状图
一.弦图 1.弦图是什么 弦图(Chord),主要用于表示两个节点之间的联系的图表.两点之间的连线,表示谁和谁具有联系. 2.数据 初始数据为: var city_name = [ "北京& ...
- Laravel系列教程一:安装及环境配置
免费视频教程地址https://laravist.com/series/laravel-5-basic 最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算 ...
- jQuery (DOM篇)
1.DOM节点的创建 创建元素节点: 常见的就是直接把这个节点的结构给通过HTML标记字符串描述出来,通过$()函数处理,$("html结构") $("<div&g ...
- python——unpack问题 ocr_recognize timeout , exception:unpack requires a string argument of length 46
rObjBuff = "".join(unpack('=%ds' % ObjLen, recv_buf[6+i*ObjLen:6+(i+1)*ObjLen]))score, bbo ...
- Data truncation: Data too long for column
是字符集问题引起的,用show full fields from + 表名就可以看出你的列的编码格式把它改成GBK或者GB2312.uTF-8.如果还不行的话,把你表的编码格式也改成上面的编码格式,我 ...
- MATLAB 的运算符
在MATLAB中,提供了丰富的运算符,运算主要包括算数运算.关系运算和逻辑运算. 一.算数运算符 分为标量和数组运算和矩阵运算.需要注意:对于a/b,是a除以b,对于a\b,是b除以a.在MATLAB ...