C语言入门及进阶——加强一维数组(元素插入、移动盒子、校门外的树、支配值数目、简单密码 破解、删除其中一个元素、保留整数、数字对、求平均成绩、约瑟夫问题、字符串排序、两数组最短距离)

这篇博客深入探讨了C语言中一维数组的应用,涵盖了元素插入、删除、保留整数等基本操作,还讲解了约瑟夫问题、求平均成绩的算法,以及字符串排序、两数组最短距离等复杂问题,同时还涉及了简单的密码破解和数学问题如支配值数目和移动盒子的解法,是一份全面的C语言数组与算法实践指南。
摘要由CSDN通过智能技术生成

1.元素插入
在这里插入图片描述

#include<stdio.h>
int SUM(int num);
int main()
{
   
    int i;
	int j;
	int n;
	int m;
	int t;
	int k;
	int p;
	int q;
	int num[10001];   
	scanf("%d", &n);
	while(n--)
	{
      
	    scanf("%d", &m);
		for(i=0; i<m; i++)
		{
   
		    scanf("%d", &num[i]);
		}
		scanf("%d %d", &p, &q);

		for(i=0; i<q; i++)
		{
   
		    if(i==q-1)
			{
   
			    t=num[i];
				num[i]=p;

				for(j=i+1; j<=m; j++)
				{
   
				   k=num[j];
				   num[j]= t;
				   t=k;
				}
			}
		}

		for(i=0; i<=m; i++)
		{
   
		   printf("%d", num[i]);
		   if(i<m)
		   {
   
		      printf(" ");
		   }
		}
		if(n>0)
		{
   
		    printf("\n");
		}
	}
    return 0;
}

2.删除其中一个元素
在这里插入图片描述

#include<stdio.h >
int main()
{
   
   int a[10000]={
   0},T,M,N,i,p;
    scanf("%d",&T);
    while(T--)
    {
   
        scanf("%d",&M);
        for(i=0; i < M; i++)
            scanf("%d",&a[i]);
        scanf("%d",&N);
        for(i=0; i < M; i++)
            if(N==a[i])
            {
   
                p=i;
                break;
            }
        if(p!=M-1)
        {
   
            for(i=p; i < M; i++)
                a[i]=a[i+1];
        }
        M--;
        for(i=0; i < M; i++)
        {
   
            if(i==0)
                printf("%d",a[i]);
            else
                printf(" %d",a[i]);
        }
        printf("\n");
    }
    return 0; 
}

3.保留整数
在这里插入图片描述

#include<stdio.h>
#include<string.h>
int main()
{
   
	char a[80]</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值