请编写fun()函数,函数的功能是删去一维数组中相同的数据在一起出现的数,相同的数只保留一个
《程序设计基础实训指导教程-c语言》
ISBN 978-7-03-032846-5
p143
7.1.2 上级实训内容
【实训内容13】请编写fun()
函数,函数的功能是删去一维数组中相同的数据在一起出现的数,相同的数只保留一个
例如,一维数组中的数据是
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组的内容应该是
2 3 4 5 6 7 8 9 10
分析:
- 在函数中建立一个一维数组,并初始化;
- 在子函数中,建立两个数组
a
和b
, - 数组
a
--> 用来放置从主函数中传来的原始数组, - 数组
b
--> 用来放置删除相同数后的元素,
首先将a[0]
的值赋给b[0]
,
从a[i]
起,i=1
且i<n
(n
为a
数组的长度);
检查a[i-1]
是否等于*p
,
如果两者相等,则指针向后移动,
如两者不相等,则将a[i]
的值放入数组b
中,并将b
的下标向下移动;
依次循环,
即将a
中不重复的数据放入新数组b
;
待循环结束后,将b
数组的值重新赋给a
数组,只取b
数组的长度,其他的值都删除
#include<stdio.h>
#define MAX 19
void fun(int a[],int b[]);
int main()
{int i;int s[MAX];printf("初始化数组(输入%d个整数[空格隔开]):",MAX);for(i=0;i<MAX;i++){scanf("%d",&s[i]);}
//----------------------------------printf("---打印原始数组---\n");for(i=0;i<MAX;i++){printf("%d ",s[i]);}printf("\n---验证完毕!\n");
//-----------------------------------fun(s,s);}
void fun(int a[],int b[])
{int i,j;for(i=0,j=0;i<MAX;i++){if(a[j]!=*(a+i)){j++;b[j]=*(a+i);}}printf("\n测试\n");for(i=0;i<j+1;i++){printf("%d ",b[i]);}putchar('\n');
}
请编写fun()函数,函数的功能是删去一维数组中相同的数据在一起出现的数,相同的数只保留一个相关推荐
- C语言编程>第二十一周 ② 请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中。
例题:请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中. 注意:仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容. 代码如下: #include& ...
- C语言编程>第七周 ⑧ 请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中。
例题:请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中.二维数组中的数己在主函数中赋予. ...
- C语言试题二十三之编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中
1. 题目 请编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中.二 ...
- 13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中.二维数组中的数已在主函数中 ...
- Boost:使用max_element()算法以及transform_iterator和length()函数来查找最长的 向量数组中的4分量向量
Boost:使用max_element()算法以及transform_iterator和length()函数来查找最长的 向量数组中的4分量向量 实现功能 C++实现代码 实现功能 Boost的com ...
- 6-2 指针与数组-矩阵的各列求和分数 10 本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和。将各列和存放在一个至少7个单元的一维数组中。函数接口定义:
本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和.将各列和存放在一个至少7个单元的一维数组中. 函数接口定义: void fun ( int data[][7], int resu ...
- numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax)
numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax) 目录 numpy使用np ...
- 用指针、子函数的方法去一维数组中所有元素的平均值,并放在a[0]处
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容7]用指针.子函数的方法去一维数组中所有元素的平均值,并放 ...
- 用子函数的方法求一维数组中所有元素之和
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容2]用子函数的方法求一维数组中所有元素之和 #includ ...
最新文章
- oracle创建数据库后干什么,手动创建Oracle数据库之前因后果
- mysql group by 区间_SQL按区间进行group by
- Codeforces 38B - Chess
- 02-requests模块的概述
- 【转】一个关于fork()的笔试题,考了好几遍,终于找到答案了
- 大数相关计算(c语言版)
- Asp.net MVC 3 Framework: SportsStore源码
- MVC HtmlHelper listbox用法
- 第十届中国开源黑客松等你来
- matlab模糊数学隶属问题,模糊数学模型matlab
- 苹果iPad mini 5蜂窝数据版上架:3896元起
- 问题:TypeError: denoise_wavelet() got an unexpected keyword argument ‘method‘
- Gramine(原graphene-sgx)软件栈
- Java 嵌入数据处理引擎:SQLite 的挑战者
- CannotGetJdbcConnectionException:Failed to obtain JDBC Connection
- 2020N1叉车司机证考试及N1叉车司机考试软件
- windows/vs如何获取程序内存使用量和时间花费
- 在 JDK 1.4 中打印
- python爬虫豆瓣top250_Python 爬取豆瓣TOP250实战
- 谷歌57版本设置浏览器编码
热门文章
- [Google API](1)简介
- linux下如何解压缩zip,tar,tar.gz,tar.bz2文件
- mysql远程连接问题
- cgi标准面试php,PHP面试:简述CGI、FastCGI和PHP
- mysql主从配置流程
- skycons.js 基于canvas的天气动态js插件
- Debian,Ubuntu下安装zsh和oh-my-zsh
- win7访问不了服务器共享文件夹权限设置,win7系统开启共享文件夹访问权限的操作方法...
- 计算机应用基础统考操作,全国统考计算机应用基础操作题
- linux shell脚本if,linux的shell脚本中if,for,while的解析与应用