一个特别固执的人


私信TA

用户名:grl

访问量:18739

签 名:

泰库拉

等  级
排  名 584
经  验 4052
参赛次数 1
文章发表 13
年  龄 22
在职情况 学生
学  校 长春理工大学
专  业 电子信息工程

  自我简介:

解题思路: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分

12 人评分

  评论区

好强的思路
2024-01-22 17:52:51
#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;	
}
2022-03-25 21:15:01
厉害厉害
2021-06-03 17:22:30
  • «
  • 1
  • »