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型,数组里的数据成为元素. 二.数组的定义 格式: 类型 数组名[元素个数] ...
随机推荐
- java异常处理和自定义异常利用try和catch让程序继续下去(回来自己再写个例子试运行下)
注意:想在catch的参数里使用自定义的异常,则必须先将这个异常抛出才行.(throws是具有抛出异常的能力,并未抛出,throw new MyException是抛出异常,catch是捕获异常,只有 ...
- springmvc-servlet.xml 第二种选择
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Hadoop MapReduce编程 API入门系列之wordcount版本1(五)
这个很简单哈,编程的版本很多种. 代码版本1 package zhouls.bigdata.myMapReduce.wordcount5; import java.io.IOException; im ...
- axis2 1.7.1使用教程
写在前面 本文只说Axis2的用法. 1.下载与部署 需要下载两个文件: 下载地址:http://mirrors.cnnic.cn/apache/axis/axis2/java/core/1.7.1/ ...
- Qt与OpenCV结合:图像显示
参考链接: http://www.cnblogs.com/emouse/archive/2013/03/29/2988717.html 注意:为了防止min max 问题,要把opencv的包含放在包 ...
- 基于 vue2 导航栏透明渐变
在移动或者app 中经常会用,顶部导航栏固定,但是随着页面向上滚动,导航栏的透明度发生变化. 做法为: 1.首先给要滚动变化的导航添加 :style="style" <mt- ...
- iframe里面开启全屏allowfullscreen="true"
<iframe id="J_iframe" width="100%" height="100%" src="client-a ...
- Apex语言(二)变量与常量
1.变量 凡是交给计算运算(处理)的数据就是变量,用来保存参加运算的数据和计算结果. 变量由变量名来标识. 变量名由字母数字和下划线组成,不能以数字开头. [正确]number,number1,num ...
- 微信二次认证 C#
using Senparc.Weixin.Entities; using Senparc.Weixin.HttpUtility; using Senparc.Weixin.QY.AdvancedAPI ...
- 了解http协议
http:超文本传输协议 https:安全超文本传输协议 FTP:文件传输协议 TCP:网络控制协议 IP:互联网协议 UDP:用户数据协议 https协议特点-------------------- ...