#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语言数组小谈的更多相关文章

  1. c语言数组小练习

    //查找数组中最大的值: #include<stdio.h> int main01() { , , , , , , , , , ,,}; ]; int i; ;i < ]);i++) ...

  2. javascript数组浅谈1

    最近心血来潮要开始玩博客了,刚好也在看数组这块内容,第一篇就只好拿数组开刀了,自己总结的,有什么不对的地方还请批评指正,还有什么没写到的方面也可以提出来我进行完善,谢谢~~ 首先,大概说说数组的基本用 ...

  3. javascript数组浅谈2

    上次说了数组元素的增删,的这次说说数组的一些操作方法 join()方法: ,,] arr.join("_") //1_2_3 join方法会返回一个由数组中每个值的字符串形式拼接而 ...

  4. Swift语言 1小时速学教程

    本文由 张渊杰 (网名寂静)编写 Swift语言 1小时速学教程 写在前面的话 有些人可能想, 呵呵, 1小时学一门语言, 你不是搞笑吧, 我想说, 是的, 完全可以, 就要看你怎么学了 要想在1小时 ...

  5. C语言数组

    在C语言中,对于三维或三维以上数组的使用并没有很好的支持,而且使用率也非常的低,后面会对三维数组做一些简单的分析,这篇文章主要以二维数组来探讨一些C语言中数组使用的相关概念和技巧. 1 一个var[i ...

  6. C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

    1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...

  7. Go语言数组和切片的原理

    目录 数组 创建 访问和赋值 切片 结构 初始化 访问 追加 拷贝 总结 数组和切片是 Go 语言中常见的数据结构,很多刚刚使用 Go 的开发者往往会混淆这两个概念,数组作为最常见的集合在编程语言中是 ...

  8. DevStore开发人员服务有奖征文:小谈新浪微博开放平台

    DevStore开发人员服务有奖征文:小谈新浪微博开放平台 笔者接入新浪微博开发平台也有一段时间了,对整个平台的接入也算比較熟悉,新浪提供了统一的API接口,能够让开发人员更方便的使用API来实现自己 ...

  9. C语言-数组篇

    C语言数组 一.数组的概念 用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素. 二.数组的定义 格式: 类型 数组名[元素个数] ...

随机推荐

  1. java异常处理和自定义异常利用try和catch让程序继续下去(回来自己再写个例子试运行下)

    注意:想在catch的参数里使用自定义的异常,则必须先将这个异常抛出才行.(throws是具有抛出异常的能力,并未抛出,throw new MyException是抛出异常,catch是捕获异常,只有 ...

  2. springmvc-servlet.xml 第二种选择

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. Hadoop MapReduce编程 API入门系列之wordcount版本1(五)

    这个很简单哈,编程的版本很多种. 代码版本1 package zhouls.bigdata.myMapReduce.wordcount5; import java.io.IOException; im ...

  4. axis2 1.7.1使用教程

    写在前面 本文只说Axis2的用法. 1.下载与部署 需要下载两个文件: 下载地址:http://mirrors.cnnic.cn/apache/axis/axis2/java/core/1.7.1/ ...

  5. Qt与OpenCV结合:图像显示

    参考链接: http://www.cnblogs.com/emouse/archive/2013/03/29/2988717.html 注意:为了防止min max 问题,要把opencv的包含放在包 ...

  6. 基于 vue2 导航栏透明渐变

    在移动或者app 中经常会用,顶部导航栏固定,但是随着页面向上滚动,导航栏的透明度发生变化. 做法为: 1.首先给要滚动变化的导航添加 :style="style" <mt- ...

  7. iframe里面开启全屏allowfullscreen="true"

    <iframe id="J_iframe" width="100%" height="100%" src="client-a ...

  8. Apex语言(二)变量与常量

    1.变量 凡是交给计算运算(处理)的数据就是变量,用来保存参加运算的数据和计算结果. 变量由变量名来标识. 变量名由字母数字和下划线组成,不能以数字开头. [正确]number,number1,num ...

  9. 微信二次认证 C#

    using Senparc.Weixin.Entities; using Senparc.Weixin.HttpUtility; using Senparc.Weixin.QY.AdvancedAPI ...

  10. 了解http协议

    http:超文本传输协议 https:安全超文本传输协议 FTP:文件传输协议 TCP:网络控制协议 IP:互联网协议 UDP:用户数据协议 https协议特点-------------------- ...