• 作业十一 总结


    一:知识点

    1.数组名作为函数的参数

    2.指针、数组和地址间的关系

    ·数组的基地址是在内存中存储数组的起始位置,它是数组中第一个元素(下标为0)的地址,因此数组名本身是一个地址即指针值。

    3.常用的字符串处理函数

     字符串的输入和输出:函数scanf()和gets()可用来输入字符串,而printf()和puts()输出字符串。它们在系统文件stdio.h中定义。

    4.字符串和字符指针

    ·如果定义一个字符指针接收字符串常量的值,该指针就指向字符串的首字符。这样,字符数组和字符指针都可以用来处理字符串。

    二、实验过程中遇到的问题及解决方法:

    #include<stdio.h> 
    void sort(int a[],int n);
    
    int main()
    {
        int n,a[8];
        int i;
        
        printf("Enter n(n<=8):");
        scanf("%d",&n);
        printf("Enter a[%d]:",n);
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        sort(a,n);
        printf("After sorted,a[%d]=",n);
        for(i=0;i<n;i++)
            printf("%3d",a[i]);
            
        return 0;
    }
    void sort(int a[],int n)
    {
        int i,j,t;
        for(i=1;i<n;i++)
            for(j=0;j<n-i;j++)
                if(a[j]>a[j+1])
                {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
    }
    

      

    #include <stdio.h>
    int search(int list[80],int n,int x);
    int main()
    {
        int a[80],n,x,i;
        printf("Enter an array length n:");
        scanf("%d",&n);
        printf("Enter an array:");
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
        } 
        printf("输入你要找的数字x:");
        scanf("%d",&x);
        search(a,n,x);
    
        return 0;
    }
    int search(int list[80],int n,int x)
    {
        int i;
        for(i=0;i<=n;i++){
            if(x==list[i]){
                printf("Index is %d
    ",i);
                break;
            }    
        } 
        if(x!=list[i]){
            printf("-1
    ");
        }
    }
    

      

    #include<stdio.h>
    int main(void)
    {
        int count,i,m,n,no;
        int num[50];
        int *p;
        printf("enter n,m:");
        scanf("%d%d",&n,&m);
        for(i=0;i<n;i++)
        num[i]=i+1;
        p=num;
        count=no=0;
        while(no<n-1)
        {
            if(*p!=0)count++;
            if(count==m)
            {
                no++;
                printf("退出的人%d:%d
    ",no,*p);
                *p=0;
                count=0;
            }
            p++;
            if(p==num+n)
            p=num;
        }
        p=num;
        while(*p==0)
        p++;
        printf("最后一个人:%d
    ",*p);  
    }
    

      

    第三题在实验过程中问题比较大,自己完成有些困难那,后在老师的提醒和同学的帮助下才得以完成。

    三、实验心得体会:

    感觉实验题目难度加深,学习的也更加深入,需要多加练习,和认真的呢听讲

  • 相关阅读:
    BZOJ 2339: [HNOI2011]卡农 DP+容斥原理
    BZOJ 2560: 串珠子 状压DP+容斥原理
    BZOJ 4455: [Zjoi2016]小星星 容斥原理+树形DP
    BZOJ 2660: [Beijing wc2012]最多的方案 DP+贪心
    【luogu3734】 [HAOI2017]方案数 组合计数
    BZOJ 1495: [NOI2006]网络收费 树形DP+复杂度分析
    在TTF字体中提取想要的文字
    dos命令创建安卓签名
    比较和排序(IComparable和IComparer以及它们的泛型实现)
    unity LineRenderer
  • 原文地址:https://www.cnblogs.com/yy1997/p/6143516.html
Copyright © 2020-2023  润新知