算法 - 数组插入问题?谢谢!

查看:128
本文介绍了算法 - 数组插入问题?谢谢!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

C语言,给定一个任意的整数数组,求一个算法,在每三个整数后面插入一个A,该怎么写?如:{1,7,9,6,3,4,2,7,5,3},转变为{1,7,9,A,6,3,4,A,2,7,5,A,3}.!谢谢,在下新学编程,求大神解答。给一个伪代码也行!

解决方案

#include <stdio.h>

int main()
{
    int arr[] = {1,7,9,6,3,4,2,7,5,3,2,3};
    int lenthArr = sizeof(arr) / sizeof(arr[0]);
    int newLenthArr = lenthArr / 3;
    //申请一个char类型的数组,因为要存'A',数组长度加1,最后存了个'\0'
    char arrNew[newLenthArr + 1 + lenthArr];
    int i = 0, j = 0;
    for (; i < lenthArr;++i, ++j)
    {
        //把整数变成字符
        arrNew[j] = '0' + arr[i];
        if ((i + 1 )% 3 == 0)
        {
            arrNew[++j] = 'A'; 
        }
    }
    arrNew[j] = '\0';
    for (int pos = 0; pos != j; ++pos)
    {
        printf("%c ", arrNew[pos]);
    }
    printf("\n%s\n", arrNew);
    getchar();

}

这篇关于算法 - 数组插入问题?谢谢!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆