c语言数组小谈


#include <stdio.h>
#include <stdlib.h>
#define N 5
int main() {
double score[5];
int i;
for (i = 0; i< N ;i++)
{
printf("请输入第%d门课的成绩:",i+1);
scanf("%lf",&score[i]);
}
printf("---------------------\n");
int j;
for (j = 0; j< N ;j++)
{
printf("第%d门课的成绩为%.2lf\n",j+1,score[j]);
}
return 0;
}
综合的小练习
#include <stdio.h>
#include <stdlib.h>
//宏定义布尔类型
#define BOOL int
#define TRUE 1
#define FALSE 0
int main() {
int arr[] = {8,4,2,1,23,344,12};
// 循环输出数组的值
int length;
length = sizeof(arr)/sizeof(arr[0]);
int i;
for (i=0;i<length;i++) {
printf("数组第%d个元素值为%d\n",i+1,arr[i]);
}
// 求数组中所有元素的和与平均值
double sum = 0;
double average;
for (i=0;i<length;i++) {
sum += arr[i];
}
average = sum / length;
printf("数组元素的和为:%.2lf\n",sum);
printf("数组元素的平均值为:%.2lf\n",average);
// 输入数值判断是否存在数组中,循环五次
int guessNum;
int count = 0;
BOOL isInArray;
while (count < 5) {
printf("请输入数值:");
scanf("%d",&guessNum);
isInArray = FALSE;
for (i=0;i<length;i++) {
if (guessNum == arr[i]) {
isInArray = TRUE;
break;
}
}
if (isInArray) {
printf("输入的数值在数组中\n");
} else {
printf("输入的数值不在数组中\n");
}
count++;
}
return 0;
}
冒泡排序
#include <stdio.h>
#include <stdlib.h>
//宏定义布尔类型
#define SIZE 5
int main() {
// 循环录入5个整型数字,进行降序排列后输出
// 冒泡排序
int arr[SIZE] = {};
int i;
printf("请输入5个数字:\n");
for (i = 0;i<SIZE;i++) {
scanf("%d",&arr[i]);
}
for (i=0;i<SIZE;i++) {
printf("输入第%d个数字为:%d\n",i,arr[i]);
}
// 进行冒泡排序,降序排列,大的排在前面,小的排在后面
bubble_sort(arr,SIZE);
printf("降序排序后的顺序为:\n");
for (i=0;i<SIZE;i++) {
printf("输入第%d个数字为:%d\n",i,arr[i]);
}
return 0;
}
// 冒泡函数
void bubble_sort(int a[],int n) {
int i,j,temp;
for (i=0;i<n-1;i++) { // 只需要n-1轮
// 每一轮的比较
for (j=0;j<n-1-i;j++) { // 每一轮比较的次数都会越来越少
// 核心的判断
if (a[j] < a[j+1]) {
// 交换位置,大的排在前面
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
删除真心费劲,感觉还是php操作数组更加便捷。
#include <stdio.h>
#include <stdlib.h>
int main() {
// 数组删除元素
int count = 5;
double powers[] = {42322,25771,40907,41234,40767};
double deletePower; // 用户要删除的战力值
int deleteIndex = -1; // 要删除的战力值的下标
int i;
printf("请输入要删除的战力值:\n");
scanf("%lf",&deletePower);
for (i= 0;i<count;i++) {
if (deletePower == powers[i]) {
// 记录下标
deleteIndex = i;
break;
}
}
// 判断是否找到
if (deleteIndex >=0) {
// 从下标开始,后面一个覆盖前面一个数字
for (i = deleteIndex ; i <count -1;i++) {
powers[i] = powers[i+1];
}
} else {
printf("很遗憾,没有找到要删除的战力值");
}
for (i=0;i<count-1;i++) {
printf("第%d个元素为:%.2lf\n",i,powers[i]);
}
return 0;
}
二维数组


#include <stdio.h>
#include <stdlib.h>
int main() {
// 使用二维数组表示学生的成绩,并展示
double scores[4][3] = {
{98,67,93},
{88,87,93},
{98,65,93},
{68,67,93}
};
int i,j;
// 使用双循环输出
for (i = 0;i<4;i++) {
for (j=0;j<3;j++) {
printf("%.2lf\t",scores[i][j]);
}
printf("\n");
}
return 0;
}
不如php灵活。
c语言数组小谈的更多相关文章
- c语言数组小练习
//查找数组中最大的值: #include<stdio.h> int main01() { , , , , , , , , , ,,}; ]; int i; ;i < ]);i++) ...
- javascript数组浅谈1
最近心血来潮要开始玩博客了,刚好也在看数组这块内容,第一篇就只好拿数组开刀了,自己总结的,有什么不对的地方还请批评指正,还有什么没写到的方面也可以提出来我进行完善,谢谢~~ 首先,大概说说数组的基本用 ...
- javascript数组浅谈2
上次说了数组元素的增删,的这次说说数组的一些操作方法 join()方法: ,,] arr.join("_") //1_2_3 join方法会返回一个由数组中每个值的字符串形式拼接而 ...
- Swift语言 1小时速学教程
本文由 张渊杰 (网名寂静)编写 Swift语言 1小时速学教程 写在前面的话 有些人可能想, 呵呵, 1小时学一门语言, 你不是搞笑吧, 我想说, 是的, 完全可以, 就要看你怎么学了 要想在1小时 ...
- C语言数组
在C语言中,对于三维或三维以上数组的使用并没有很好的支持,而且使用率也非常的低,后面会对三维数组做一些简单的分析,这篇文章主要以二维数组来探讨一些C语言中数组使用的相关概念和技巧. 1 一个var[i ...
- C语言数组:C语言数组定义、二维数组、动态数组、字符串数组
1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...
- Go语言数组和切片的原理
目录 数组 创建 访问和赋值 切片 结构 初始化 访问 追加 拷贝 总结 数组和切片是 Go 语言中常见的数据结构,很多刚刚使用 Go 的开发者往往会混淆这两个概念,数组作为最常见的集合在编程语言中是 ...
- DevStore开发人员服务有奖征文:小谈新浪微博开放平台
DevStore开发人员服务有奖征文:小谈新浪微博开放平台 笔者接入新浪微博开发平台也有一段时间了,对整个平台的接入也算比較熟悉,新浪提供了统一的API接口,能够让开发人员更方便的使用API来实现自己 ...
- C语言-数组篇
C语言数组 一.数组的概念 用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素. 二.数组的定义 格式: 类型 数组名[元素个数] ...
随机推荐
- Irrlicht 1.8.4 + Win7 + VC2015 + x64 +OpenGL编译
1. 下载irrlicht1.8.4 https://nchc.dl.sourceforge.net/project/irrlicht/Irrlicht%20SDK/1.8/1.8.4/irrlich ...
- guice整合struts2与jpa,guice的使用(九)
传统我们开发一般使用ssh,但是有些微服务应用的项目我们不需要这么臃肿的框架做开发,于是采用了guice+struts2+guice作为框架组合进行了开发. 先看我们项目引用的jar包: 使用的时候一 ...
- 很全很全的JavaScript的模块讲解
介绍 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元.所谓模块化主要是解决代码分割.作用域隔离.模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方 ...
- Kettle bug收集
20160919(未确定): 加载表的使用"Use batch update for inserts"会引致奇怪的转换失败? 出错日志: - linenr 450000- line ...
- 使用Word 2010群发邮件
1.建立数据库,这里我使用了excel 字段:电子邮件地址,名字 填写需要发送的数据 2.新建word文档,这里我使用了word2010 点击工具栏邮件 开始邮件合并,电子邮件 选择收件人,使用现有列 ...
- Qt5.2 for Android 配置及部署到手机运行
使用DNK编程也没有那么难,使用QT为安卓跨平台编程需要安装NDK,SDK通过NDK调用C++程序,偶尔能提高一些效率. SDK下载地址:http://developer.android.com/sd ...
- 使用PyQT编写界面程序
使用PyQT比QT好在,可以随时监测函数正确性,省去编译时间 ! 这是个不小的节省. 1. PyQt: 打开对话框 msgbox = QtGui.QMessageBox(self)# 我的语句是 ms ...
- 01-初学总结之《谭浩强C程序设计》
注:个人针对于课本的易错点进行了相关的整理.整理的不专业,多多见谅. C语言中的易出错的点 这个笔记综合了 0. 常量&变量 常量 整型常量 -345,1000,0 实型常量 1) 十进制 ...
- JdbcTemplate 增删查改
准备工作:1,拷贝工具类JDBCUtils, 2,导入包commons-logging-1.2-javadoc.jar spring-beans-5.0.0.RELEASE-javadoc.jar ...
- Mybatis批量插入的代码实现
简单的学习总结一下,希望能帮到需要的同学! 1.mapper.xml文件sql语句如下: <insert id="insertBatch" parameterType=&qu ...