仅供课外学习使用,任何个人与机构不得利用此文章进行任何形式的作弊。

实验目的:

  1. 能够进行一维数组的定义和初始化,以及数组元素的输入和输出;
  2. 熟悉数组处理的常用算法的设计方法以及对数组进行插入和删除等;
  3. 具备简单数据查找能力。

实验内容:

编写程序,实现如下任务:从键盘输入若干个整数,输入整数的个数小于100,其值在-100~100范围内,用-1作为输入结束的标志。统计每个整数的个数并从大到小排序,输出排序后的结果。

提示:定义两个数组,一个用来存放输入整数,另一个用来存放统计信息。

实验要求:

  1. 须独立完成算法设计及代码编写,严禁抄袭。

参考书目:

Stephen Prata著, 姜佑 译. C Primer Plus (第6版)中文版. 北京:人民邮电出版社,2016.

(作者注:实验二与实验一同时发布,出于实际情况考虑,此次老师老师亦未给出输入与输出样例)

代码实现:

实例一:每天都想睡十小时:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <windows.h>
int main()
{int a[101], b[205][2] = {0};//a存数据b排序 int i, j, t;for(i = 0; i < 101; i++){scanf("%d", &a[i]);//输入 if(a[i] == -1){a[i] = 0;i--;break;}if(a[i] >= 0) b[a[i]][0]++;//桶排 else b[-a[i] + 100][0]++;//Key Step: 从b[101]开始存储负数个数 }for(i = 0; i <= 100; i++)b[i][1] = i;for(i = 101; i <=200; i++)b[i][1] = 100 - i;for(i = 0; i < 201; i++)//冒泡排序 for(j = 0; j < 200 - i; j++){if(b[j][0] < b[j + 1][0]){t = b[j][0];b[j][0] = b[j + 1][0];b[j + 1][0] = t;t = b[j][1];b[j][1] = b[j + 1][1];b[j + 1][1] = t;}}for(i = 0; i < 202; i++)if(b[i][0] != 0)printf("The num of %d is %d\n", b[i][1], b[i][0]);//输出 return 0;
}

实例二:>C=C<:

#include <stdio.h>void sort(int a[],int t);int main()
{const int num = 100;int a[num];int b[num]; int t = 0;int i,k;for(i=0;i<num;i++){a[i] = b[i] = 0;}                             //初始化 for(t=0;t<num;t++){scanf("%d",&a[t]);        //输入 if(a[t]!=-1)b[a[t]]++;    //记录数字个数 else break;}sort(a,t-1);                  //调用函数 for(i=0;i<num;i++){if(b[i]!=0)printf("%d一共有%d个\n",i,b[i]);}for(i=0;i<t-1;i++){printf("%d ",a[i]);}return 0;} void sort(int a[],int t)        //冒泡排序
{int m,n;for(m=0;m<t;m++){for(n=0;n<t-1-m;n++){if(a[n]<a[n+1]){int temp = a[n+1];a[n+1] = a[n];a[n] = temp;}}}
}

实例三:又欠又欠

#include <stdio.h>
//定义全局变量数组a,b
int a[101], b[101], i=0;
int main()
{//用do while循环进行数据输入//用数组a下标进行次数统计,数组b接收输入的值do{scanf("%d", &b[i]);a[b[i]]++;i++;} while(b[i - 1] != -1);printf("结果为:\n");//让次数从上到下遍历,找到对应次数的数组下标for(int i = 100; i > 0; i--){for(int j = 0; j <= 100; j++){if(a[j] == i)printf("%d出现了%d次\n", j, i); }} return 0;
}

BJFU|C程序设计基础(21下)实验二相关推荐

  1. 【C语言入门】SDUT《程序设计基础I 》实验1-顺序结构程序设计题解 c语言入门语法讲解

    SDUT<程序设计基础I >实验1-顺序结构程序设计题解 && c语言语法讲解 链接 前言: 为方便更多同学入门C语言, 特在此编写SDUT OJ c语言入门150题题解即 ...

  2. python123测验9程序题_python程序设计实验二

    Python程序设计实验安徽工程大学 班级:物流191       姓名:许岚岚      学号:3190505110 日期:2020年3月21日指导教师:修 宇 实验二 顺序结构程序设计(验证性实验 ...

  3. 奥鹏20春季1903C语言,奥鹏南开大学 20秋学期(1709、1803、1809、1903、1909、2003、2009 )《程序设计基础(下)》在线作业...

    1.奥鹏南开大学2020年秋季学期在线作业 11192553751.有关析构函数的说法正确的是( ).A.析构函数可以有多个B.析构函数和构造函数一样可以有形参C.析构函数的功能是用来释放一个对象D. ...

  4. 北师大1903计算机在线答案,[南开大学(本部)]20秋学期(1709、1803、1809、1903、1909、2003、2009 )《程序设计基础(下)》在线作业-2...

    1.[奥鹏]-南开大学(本部)20秋学期(1709.1803.1809.1903.1909.2003.2009 )程序设计基础(下)在线作业试卷总分:100 得分:100第1题,在一棵度为4的树中,度 ...

  5. C++程序设计基础,数组实验(题干信息:某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超30人参加考试,具体问题在下面)

    (1)计算每个学生的总分和平均分: (2)按总分成绩由高到低排出成绩的名次: (3)打印出名次表,表格内包括学生编号.各科分数.总分和平均分: (4)任意输入一个学号,能够查找出该学生在班级中的排名及 ...

  6. java程序面向对象show,20165309 实验二 Java面向对象程序设计

    2017-2018-2 20165309实验二<Java面向对象程序设计>实验报告 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初 ...

  7. 《程序设计基础II》实验3——递推

    A - 养兔子 Description 一对成熟的兔子每天能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子.第一天某人领养了一对成熟的兔子,一公一母 ...

  8. 【C语言入门】SDUT《程序设计基础I 》实验2-选择结构程序设计题解 c语言语法讲解

    题目链接 A - C语言实验--求绝对值(选择结构) 使用if选择语句, 大于等于 0 直接输出, 小于 0 输出 -x 即可 拓展: 求绝对值的函数 <math.h>头文件下有abs() ...

  9. matlab程序设计基础m文件,实验五 M文件和MATLAB程序设计.doc

    实验五 M文件和MATLAB程序设计 第 PAGE \* Arabic \* MERGEFORMAT 10 页 实验五 M文件和MATLAB程序设计 一.实验目的 matlab作为一种高级计算机语言, ...

最新文章

  1. 换换口味,体验一下Mandriva
  2. 超出网络bios会话限制_?老旧BIOS说再见,拯救者系列设置超简单
  3. [Python爬虫] 之二十七:Selenium +phantomjs 利用 pyquery抓取今日头条视频
  4. Java多线程编程系列-实例变量和线程安全
  5. clickjacking:X-frame-options header missing 漏洞解决办法
  6. .set伪指令(mips)
  7. Struts2零配置属性详解(2)
  8. Django模型(model)系统
  9. litepal更新数据失败
  10. 计算机文件图标怎么一致大小,电脑图标大小设置的几种方法
  11. 计算机端最好用的词典——GoldenDict
  12. 旧手机上的微信数据丢失怎么才能恢复回来
  13. 学以致用——Excel报表自动化方案 (Automation solution of complicated manual Excel Report)
  14. 电脑通过二维码打开手机链接
  15. 如何爬取商品详情页中的信息
  16. C语言编辑bmi计算器,使用事件处理程序的BMI计算器计算
  17. 安卓中Paint与Canvas用法
  18. 【面试总结】测试开发面试题目
  19. SQL create file遇到操作系统错误5拒绝访问
  20. kruskal java_Kruskal算法java版

热门文章

  1. opencv中使用Caffe框架
  2. 程序员如何更好的获取自己的学习书单
  3. IQueryable 和 IEnumerable 的区别
  4. win10主题更换_如何在win10系统上改装高仿MAC主题桌面
  5. 留学Assignment写作怎么完善好内容?
  6. java获取 msinfo32 api_查看电脑系统信息,msinfo32查看硬件驱动软件服务程序图文教程...
  7. ACM总结感悟【转自handsomecui】
  8. Android的简易备忘录
  9. 利用前端form表单的上传文件来发送邮箱附件
  10. 智能客服系统如何帮助企业提高客户满意度?