#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. History of the browser user-agent string--转

    https://webaim.org/blog/user-agent-string-history/ In the beginning there was NCSA Mosaic, and Mosai ...

  2. MD5三种方法的学习总结

    MD5百度百科 MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已 ...

  3. 【Oracle】ORA-55610: Invalid DDL statement on history-tracked table

    —删除表emp1时出现问题 SCOTT@GOOD> drop table emp1; drop table emp1 * ERROR at line 1: ORA-55610: Invalid ...

  4. LINUX 环境安装 jdk-tomcat安装

    linux版本两种安装方式 卸载自带jdk $rpm -qa | grep java $ rpm -e --nodeps java-**-openjdk-*$ rpm -e --nodeps java ...

  5. 【Five-Minute Share】数据库内存分配设置

    对于数据库分配的内存,经常会看到的一条准则是:将服务器75-80%的内存分配给数据库.这是一条比较常见的准则,但并不是绝对的.首先,我们需要保障操作系统运行本身所需的充足内存后,才能去考虑数据库所分配 ...

  6. Http状态码大全(200、404、500等)

    基本涵盖了所有问题 HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源H ...

  7. 提示 npm update check failed

    执行npm命令时出现以下提示 虽然不影响代码运行,但总觉得看了很碍事, 查找资料后发现是因为文件夹权限的问题, .config / configstore文件夹中包含一个文件:update-notif ...

  8. Js中的4个事件

    除了加载文档的事件onload和鼠标相关的一些事件如onclick,onmouseover等.js还有一些相对不常用的事件,这些事件也有各自的应用场景,本文就介绍 onkeydown,oncontex ...

  9. Django使用中常见的错误

    Django Mysql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED   Django 执行makemigrations  的时候报错 ...

  10. gazebo 7.0 升级到7.15 参考他人博客

    gazebo 7.0 升级到7.14 网址:https://blog.csdn.net/riancy_riancy/article/details/84568322 编译后遇到报错 ,解决问题的网址: ...