《程序设计基础实训指导教程-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

分析:

  1. 在函数中建立一个一维数组,并初始化;
  2. 在子函数中,建立两个数组ab
  3. 数组a --> 用来放置从主函数中传来的原始数组,
  4. 数组b --> 用来放置删除相同数后的元素,

首先将a[0]的值赋给b[0]
a[i]起,i=1i<nna数组的长度);

检查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()函数,函数的功能是删去一维数组中相同的数据在一起出现的数,相同的数只保留一个相关推荐

  1. C语言编程>第二十一周 ② 请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中。

    例题:请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中. 注意:仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容. 代码如下: #include& ...

  2. 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所指一维数组中.二维数组中的数己在主函数中赋予. ...

  3. 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所指定一维数组中.二 ...

  4. 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所指一维数组中.二维数组中的数已在主函数中 ...

  5. Boost:使用max_element()算法以及transform_iterator和length()函数来查找最长的 向量数组中的4分量向量

    Boost:使用max_element()算法以及transform_iterator和length()函数来查找最长的 向量数组中的4分量向量 实现功能 C++实现代码 实现功能 Boost的com ...

  6. 6-2 指针与数组-矩阵的各列求和分数 10 本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和。将各列和存放在一个至少7个单元的一维数组中。函数接口定义:

    本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和.将各列和存放在一个至少7个单元的一维数组中. 函数接口定义: void fun ( int data[][7], int resu ...

  7. 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 ...

  8. 用指针、子函数的方法去一维数组中所有元素的平均值,并放在a[0]处

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容7]用指针.子函数的方法去一维数组中所有元素的平均值,并放 ...

  9. 用子函数的方法求一维数组中所有元素之和

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容2]用子函数的方法求一维数组中所有元素之和 #includ ...

最新文章

  1. oracle创建数据库后干什么,手动创建Oracle数据库之前因后果
  2. mysql group by 区间_SQL按区间进行group by
  3. Codeforces 38B - Chess
  4. 02-requests模块的概述
  5. 【转】一个关于fork()的笔试题,考了好几遍,终于找到答案了
  6. 大数相关计算(c语言版)
  7. Asp.net MVC 3 Framework: SportsStore源码
  8. MVC HtmlHelper listbox用法
  9. 第十届中国开源黑客松等你来
  10. matlab模糊数学隶属问题,模糊数学模型matlab
  11. 苹果iPad mini 5蜂窝数据版上架:3896元起
  12. 问题:TypeError: denoise_wavelet() got an unexpected keyword argument ‘method‘
  13. Gramine(原graphene-sgx)软件栈
  14. Java 嵌入数据处理引擎:SQLite 的挑战者
  15. CannotGetJdbcConnectionException:Failed to obtain JDBC Connection
  16. 2020N1叉车司机证考试及N1叉车司机考试软件
  17. windows/vs如何获取程序内存使用量和时间花费
  18. 在 JDK 1.4 中打印
  19. python爬虫豆瓣top250_Python 爬取豆瓣TOP250实战
  20. 谷歌57版本设置浏览器编码

热门文章

  1. [Google API](1)简介
  2. linux下如何解压缩zip,tar,tar.gz,tar.bz2文件
  3. mysql远程连接问题
  4. cgi标准面试php,PHP面试:简述CGI、FastCGI和PHP
  5. mysql主从配置流程
  6. skycons.js 基于canvas的天气动态js插件
  7. Debian,Ubuntu下安装zsh和oh-my-zsh
  8. win7访问不了服务器共享文件夹权限设置,win7系统开启共享文件夹访问权限的操作方法...
  9. 计算机应用基础统考操作,全国统考计算机应用基础操作题
  10. linux shell脚本if,linux的shell脚本中if,for,while的解析与应用