解题思路:1.输入和输出的函数定义的形参为整形指针类型变量而不是返回值(void)

              2.fun()函数定义:定义两个数组(数组长度在主函数中定义并且使用的也是主函数中定义的函数),在功能函数中,现将a[]错位后的情况赋给b[](用for循环)(如果错位赋值的话会将错位的位数在数组前段体现),然后使用一个for循环,即将b数组中对于超出a数组长度的数组数值再赋值到b数组错位的地方。

              3.输入数据是输入到a数组。输出数据是输出b数组的值

参考代码:

#include <stdio.h>
void input(int* a,int n);
void output(int* a,int n);
void fun(int* a,int* b,int cout,int n);
int main(void)
{
	int a[100],b[100],num,cout;
	scanf("%d",&num);
	input(a,num);
	scanf("%d",&cout);
	fun(a,b,cout,num);
	output(b,num);
	return 0;		
} 
void input(int* a,int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
}
void fun(int* a,int* b,int cout,int n)
{
	int i;
	for(i=0;i<(n+cout);i++)
	{
		b[i+cout]=a[i];
	}

	for(i=0;i<cout;i++)
	{
		b[i]=b[i+n];
	}
}
void output(int* a,int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		printf("%d ",a[i]);
	}
}


点赞(0)
 

0.0分

11 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

疾风亦有归途 12月前 回复TA
好强的思路
IamLihl 1年前 回复TA
@paid猫 你的代码输出结果是这个:10 9 1 2 3 4 5 6 7 8 ,并不符合样例要求哦,函数里面的第二个for循环应该改成这样	for(int i=n-1;i>=0;i--) 	{ 		a[i] = a[len+i];	}
paid猫 2年前 回复TA
#include<stdio.h>

void find( int *a , int n , int len)
{
	int  i , j , temp;
	
	for( i = len + n - 1; i >= n  ; i--)
	{
		a[i] = a[i -n];
	}
	for( i = 0 ; i < n ; i++)
	{
		a[i] = a[len+n-i-1];
	}
}

int main()
{
	int i , n , j ,num; int a[100];
	printf("put:n\n");
	scanf("%d",&n);
	printf("put a\n");
	for( i = 0 ; i < n ; i++ )
		scanf("%d",&a[i]);
		
	printf("put , num\n");
	scanf("%d",&num);
	
	find(a , num , n);
	
	for( i = 0 ; i < n ; i++ )
		printf("%d ",a[i]);
		
	return 0;	
}
秃顶老男孩 3年前 回复TA
厉害厉害