题解 | #牛牛的替换#

牛牛的替换

https://www.nowcoder.com/practice/f2a107dbb99243798d3048a672e8f747

#include <stdio.h>
#include <stdlib.h>
/*第一行输入一个正整数 n 表示字符数组的长度,四个个字符分别 a1 和 a2 , a3 和 a4,表示把字符数组中 a1 全部替换成 a2,然后把 a3 全部替换成 a4(包括a1替换后产生的a2等于a3的情况)
第二行输入一个长度为 n 的字符数组。*/
int main()
{
    int n,i;
    char a1,a2,a3,a4;
    scanf("%d %c %c %c %c",&n,&a1,&a2,&a3,&a4);
    char*str=(char*)malloc(n*sizeof(char));//用malloc创建一个存放字符的空间,n个字符的长度的大小的空间
    for(int i=0;i<n;i++)
    {
        scanf("%s",str);//循环输入网字符串数组内,我们提供一个数组名就行了
    }
    for(int i=0;i<n;i++)
    {
        if(str[i]==a1)
        {
            str[i]=a2;
        }
        if(str[i]==a3)
        {
            str[i]=a4;
        }
        printf("%c",str[i]);//将新数组打印出来,这里是%c而不是%s,因为str[i]是数组中的一个元素
    }
    free(str);//将动态空间进行释放
    str=NULL;
    return 0;

}

/*
还有一种方法就是直接将这个最后的打印放在循环外面,
printf("%s",str);直接提供数组名,让他打印字符串*/




全部评论

相关推荐

09-25 00:00
已编辑
电子科技大学 Java
球球与墩墩:这不是前端常考的对象扁平化吗,面试官像是前端出来的 const flattern = (obj) => { const res = {}; const dfs = (curr, path) => { if(typeof curr === 'object' && curr !== null) { const isArray = Array.isArray(curr); for(let key in curr) { const newPath = path ? isArray ? `${path}[${key}]` : `${path}.${key}` : key; dfs(curr[key], newPath); } } else { res[path] = curr } } dfs(obj); return res; }
查看3道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务