zoukankan      html  css  js  c++  java
  • C语言作业11

    1.定义函数void sum(int *p)实现对给定数组a中所有元素求和并打印输出求和结果。

    #include<stdio.h>
    void sum(int *p)
    {
        int a[10];
        int i,sum=0;
        printf("请输入10个整数:");
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        } 
        p=&a[0];
        for(p=a;p<(a+10);p++)    
        {        
            sum=sum+*p;
        }
            printf("%d",sum);    
    } 
    int main()
    {
        
        int *p;
        sum(p);    
        return 0;
    }

    这道题看了丛铭俣和钟国晨的,似乎是懂了,原理其实还跟以前学的一样,只不过就是把以前学的都拼凑在一起了,看到别人写的之后就觉得哦对对就是这样,但是自己却写不出来,其实还是对知识掌握的不是很好吧,尤其是指针。

    2.用指针实现函数:读入5个字符串(或是5个字符),按由小到大的顺序输出这5个字符串。

    #include<stdio.h>
    void fsort(int a[],int n);
    int main(void)
    {
        int i;
        int a[5]={6,5,2,8,1};
           fsort(a,5);
        for(i=0;i<5;i++)
           printf("%d ",a[i]);
        return 0;
    }
    void fsort(int a[],int n)
    {
        int k,j;
        int temp;
        for(k=1;k<n;k++)
           for(j=0;j<n-k;j++)
           if(a[j]>a[j+1])
           {
                  temp=a[j];
                  a[j]=a[j+1];
                  a[j+1]=temp;
           }
    }

    3.利用动态内存分配方式创建长度为10个int的存储空间,由用户从键盘输入数据进行空间初始化,同时打印输出空间内容。

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int main()
    {
        char *p[5];
        char str[20];
        scanf("%s",str);
        int i=0;
        while(str[0]!='#')
        {
            p[i]=(char *)malloc(sizeof(char)*strlen(str));
            strcpy(p[i],str);
            scanf("%s",str);
            i++;
        }
        int j;
        for(j=0;j<i;j++)
            printf("%s ",p[j]);
    }

    老师在课上讲了这道题,很明白了已经。

    4.选做:定义二维数组a[10][10]和数组指针p[10],并用p对数组a进行初始化和打印输出。

    #include<stdio.h>
    int main()
    {
        int b[10][10];
        int i,j;
        for(i=0;i<9;i++)
            for(j=0;j<9;j++)
            {
                b[i][j]=(i+1)*(j+1);
            }
        for(i=0;i<9;i++)
        {
            for(j=0;j<9;j++)
            {
                printf("%d     ",b[i][j]);
            }
            printf("
    ");    
        }
        return 0;
    } 

    这道题它让定义数组和指针,但是我只写了数组,因为我不会加入指针,让指针和数组结合起来,所以感觉这次作业难的原因就是要把好多好多知识综合起来运用,一种知识我还用的不是很利落就要再加上好多其他知识所以很吃力,以后还是要勤加练习吧,就像丛铭俣说的练好基础。

  • 相关阅读:
    This counter can increment, decrement or skip ahead by an arbitrary amount
    LUT4/MUXF5/MUXF6 logic : Multiplexer 8:1
    synthesisable VHDL for a fixed ratio frequency divider
    Bucket Brigade FIFO SRL16E ( VHDL )
    srl16e fifo verilog
    DualPort Block RAM with Two Write Ports and Bytewide Write Enable in ReadFirst Mode
    Parametrilayze based on SRL16 shift register FIFO
    stm32 spi sdcard fatfs
    SPI bus master for System09 (2)
    SQLSERVER中的自旋锁
  • 原文地址:https://www.cnblogs.com/ljxsol/p/6152837.html
Copyright © 2011-2022 走看看