栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言学习笔记001

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言学习笔记001

C语言学习笔记001
  • 数气球
    • 思路
    • 遇到问题
      • 二维字符数组
      • strcmp函数
      • 初始化问题
        • memset函数
    • 源代码
  • 前缀和与差分
    • 基本原理
      • 前缀和
      • 差分

数气球

思路

建立两个数组,一个字符串数组和一个记录次数的数组
经比较后重复颜色时在次数数组上相应位置+1

遇到问题 二维字符数组

由于字符串学的属实太拉,开始没定义二维字符数组。

上图助于理解。

strcmp函数

strcmp函数用法的巩固

初始化问题

每次这种多段输入问题都会忘记变量的初始化,无语。
切记初始化!!!

memset函数

学到了初始化数组的便利函数memset

源代码
#include 
#include 
#define N 1002
int main()
{
    char col[N][20];
    int a[N],i,j,n,max_a,max;
    while(scanf("%d",&n) && n!=0)
    {
        memset(a,0,N);
        max = 0;
        for(i=0; i
            scanf("%s",col[i]);
        }
        for(i=0; i
            for(j=i+1; j
                if(strcmp(col[i],col[j])==0)
                    a[i]++;
            }
        }
        for(i=0; i
            if(a[i]>max)
            {
                max = a[i];
                max_a = i;
            }
        }
        printf("%sn",col[max_a]);
    }
    return 0;
}
前缀和与差分 基本原理 前缀和

差分


差分后利用前缀和即可还原差分后的数组

#include 
#define N 10000
int main()
{
    int arr[N],d[N],i,n,v,l,r;
    printf("请输入数组长度为:n");
    scanf("%d",&n);
    printf("请依次输入数组元素:n");
    for(i=0;i
        scanf("%d",&arr[i]);
    }
    printf("请输入操作区间为:n");
    scanf("%d %d",&l,&r);
    printf("请输入操作值为:n");
    scanf("%d",&v);
    d[l] += v;
    d[r+1] -= v;
    for(i=1;i
        arr[i] += d[i];
        if(i==0)printf("%d",arr[i]);
        else printf(" %d",arr[i]);
    }
    memset(d,0,n);
    return 0;
}

程序运行结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号