数据结构

1,数组

是一块连续的存储单元,数据存放在逻辑上和物理上都是相邻的。

表示方法:

说明数组的类型: int short long double float char

int  array[length]  //说明类型 +  数组名称 + 【数组长度】

int  a = 10;

#define N 5

int array[5];  //不可以, 因为a本质是一个变量

int array[N]; // 可以,因为此时的N与5等价

数组的简单使用

1,初始化:

int array[5];

//单个赋值初始化

array[0] = 0;array[1] = 1;array[2] = 2;array[3] = 3;

//定义的时候初始化

int arr[4] = {0,1,2,3};

//找到数组里面最大和第二大的数字

#include<stdio.h>
int main(){
    int array[4] ={1,2,3,4};
    for(int i = 0; i < 4; i++){
    printf("请输入你想要的数..\n");
    scanf("%d",&array[i]);
    }
    int max = array[0];
    int second = 0;
    for(int i = 0; i < 4; i++){
        if(array[i] > max){
            max = array[i];
            second = max;
        } else if(array[i] < max && array[i] > second){
                  second = array[i];
        }
    }
    printf("数字最大的数为:%d\n", max);
    printf("数字第二大的数为:%d\n", second);
    return 0;
}

字符串数组

char str[10] = "hello";

//客家字符为5个,但是字符串数组后面有一个肉眼不可见的结束标准\0,就类似写文章的句号,一定跟在后面

//如果字符超出数组的长度,编译会给出警告,同时程序运行功能不正常

//修改单个字符

str[0] = H; //写法不对,因为编译器会认为H是一个新的变量

str[0] = 'H' //字符是单引号引起来的东西

数组和指针

1,指针是什么?

是一种新的数据类型,它存放的是某个存储单元的地址。

数组名和指针一样,都代表着存储单元的地址,由于这个特性,二者可以有很多使用方法。

练习题:

1,输入5个数,输出其平均数

#include<stdio.h>
int main(){
    int array[5] = {0};
    double sum = 0, av = 0;
    int count=0;

     printf("请输入你想要的数..\n");
    for(int i = 0; i < 5; i++){
         scanf("%d",&array[i]);
         sum += array[i];
         count++;
    }
    printf("平均数为%.2lf\n",1.0*sum/count);
    return 0;
}

2,输入一个数N,求1-N之间,3的倍数的和

#include<stdio.h>
#include<stdlib.h>
int main(){
    int N,i=0;
    int number = 0,sum = 0;
    int array[32] = {0};
    printf("Please input a number N\n");
    scanf("%d",&N);
    for(int i = 0;i <=N;i++){
        array[i] = i; 
    }
    for(i =1;i< 32;i++){
        if(array[i]%3 == 0 ){
        number = array[i];
        sum += number;
    }
    }
     printf("%d",sum);
    return 0;
}

3,输入一个数,输出该数的阶乘

#include<stdio.h>
int main(){
    int N;
    int number=1;
    printf("Please enter a number:");
    scanf("%d",&N);
    for(int i = N; i > 0; i--){ 
        number *= i; 
    }
    printf("%d",number);
    return 0;
}

利用递归函数求解

什么是函数?函数就是一段被服用的代码,能够完成某些具体的功能

函数分为:系统调用函数,库函数,用户自己编写的函数

函数的组成部分: 【main函数也是一个函数】

1,函数的返回值:写在最前面。

2.函数的函数名:写在括号前面。

3函数的参数:括号里面的东西。

4:函数主题:{}里面的部分。

5,return 语句:取决于函数是否有返回值

//函数举例

int add(int a,int b){

return 0;

}

函数使用时候:只需要写明函数名与参数即可

简单的函数定义与使用

#include

int add(int a,int b) {

return a+b;

}

 int sub(int a,int b) //函数名sub,参数有两个

{

return a-b;

} int main() {

printf("5-3=%d\n",sub(5,3)); //指明要用sub函数,同时给sub函数相应的参数 printf("5+3=%d\n",add(5,3)); return 0;

}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值