美文网首页
网易c++------课时46---指针2

网易c++------课时46---指针2

作者: heiqimingren | 来源:发表于2020-11-01 21:12 被阅读0次
    image.png
    image.png

    123


    image.png
    12
    image.png

    =============================

    image.png
    void main()
    {
        int *a = NULL;
        int n, i;
        printf("输入整数n(n<40): ");
        scanf("%d", &n);
        /*动态分配n个整数单元存储空间,并将其首地址赋给a。 */
        a = (int *)malloc(n*sizeof(int));
        if (a==NULL) //分配内存失败,则给出错误信息后退出。
        {
            printf("内存不足");
            exit(0);  //程序直接退出。
        }
        //下面将指针a当数组使用
        a[0] = 1;
        a[1] = 1;   //斐波那契级数的初值
        for (i = 2; i < n;i++)
        {
            a[i] = a[i - 1] + a[i - 2];  //计算斐波那挈级数
        }
        for (i = 0; i < n;i++)
        {
            if ((i+1)%5==0)         //每行输出5个数
            {
                printf("%-12d\n", a[i]);
            }
            else
            {
                printf("%-12d", a[i]); //格式符中的“-”表示输出数据左对齐
            }
        }
        printf("\n");
        free(a);      //释放所分配的内存空间
    }
    
    

    ====================


    image.png

    课堂练习:从键盘输入数据的个数n,

    #include<stdio.h>
    #include<stdlib.h>    //清屏命令在这里。
    #include <windows.h> //延时10毫秒-sleep,gotoxy函数
    #include <iostream>
    #include <conio.h>       //getch()----不用按回车,就可以输入字符。    
    #include <graphics.h>      //EasyX库,所使用的!
    #include <math.h>         //三角函数
    #include <algorithm>      //sort函数排序方法,https://blog.csdn.net/BIGKALA/article/details/81624691,这是方法适用的地址
    
    using namespace std;
    
    void main()
    {
        int *a = NULL;
        int n, i;
        printf("输入整数n(n<40): ");
        scanf("%d", &n);
        /*动态分配n个整数单元存储空间,并将其首地址赋给a。 */
        a = (int *)malloc(n*sizeof(int));
        if (a==NULL) //分配内存失败,则给出错误信息后退出。
        {
            printf("内存不足");
            exit(0);  //程序直接退出。
        }
        //下面将指针a当数组使用,进行对数组a的赋值操作。
        for (i = 0; i < n;i++)
        {
            printf("输入一个整数: ");
            scanf("%d", &a[i]);     //一定要加上符号&
        }
    
        //=====================这是升序写法
        sort(a, a + n);     //这是升序写法
        for (i = 0; i < n; i++)
        {
            cout << a[i] << endl;
        }
        //==========这是升序写法==============
    
    
    
        free(a);      //释放所分配的内存空间
    }
    
    
    
    image.png

    ====================

    image.png
    image.png

    11

    image.png

    12


    image.png
    image.png
    image.png
    image.png

    =================


    image.png

    ===================
    编写函数,实现求一维数组a[5]的平均值


    image.png
    void main()
    {
        int a[5] = { 1, 2, 3, 4, 5 };
        int numsLen = sizeof(a) / sizeof(int);   //该数组的元素个数
        for (int i = 0; i < numsLen; i++) {
            cout << a[i] << '\t';
        }
        cout << endl;
        int sum = 0;
        for (int i = 0; i < numsLen; i++){
            sum += a[i];
        }
        cout << "数列的和为:" << sum << "\t平均值为:" << sum / numsLen << endl;
        system("pause");
    }
    

    编写函数,对于一维数组a[5],生成一维数组b[5];如果XXX


    image.png
    void main()
    {
        int a[5] = { 1, 2, 3, 5, -4 };
        int b[5];
        for (int i = 0; i < 5;i++)
        {
            if (a[i]>0)
            {
                b[i] = 1;
            }
            else if (a[i]<0 )
            {
                b[i] = 0;
            }
        }
        for (int i = 0; i < 5;i++)
        {
            cout << b[i] << endl;
        }
    }
    

    ================


    image.png

    11


    image.png

    相关文章

      网友评论

          本文标题:网易c++------课时46---指针2

          本文链接:https://www.haomeiwen.com/subject/ybtbpktx.html