有没有人告诉我咋做啊,我要不行了

从键盘输入5个数,存在数组data[5]中,调用子函数实现:,将五个数组元素中的第二个至第五个前移一个位置,将第一个放到最后一个位置输出

#include <stdio.h>
void change(int data[],int n){
    int i,t;
    t=data[0];
    for(i=1;i<5;i++){
        data[i-1]=data[i];
    }
    data[4]=t;
}
int main() {
    int i,data[5];
    for(i=0;i<5;i++){
        scanf("%d",&data[i]);
    }
    change(data,5);
    for(i=0;i<5;i++){
        printf("%d ",data[i]);
    }
    return 0;
}
#include "stdio.h"
void input5Num(int a[5]){
for(int i=0;i<5;i++)
scanf("%d",&a[i]);
}
main()
{
printf("input 5 num:\n");
int x[5];
input5Num(x);
for(int i=0;i<5;i++)//打印5个数验证
printf("%d",x[i]);
}


将第一个用变量记录,后面的向前移动

#include <iostream>
using namespace std;
void fun(int *a,int n)
{
    int k = a[0];
    for(int i=1;i<n;i++)
        a[i-1] = a[i];
    a[n-1] = k;
}
int main()
{
    int a[1000];
    int n,i;
    cin>>n;
    for(i=0;i<n;i++)
        cin>>a[i];
    fun(a,n);
    for(i=0;i<n;i++)
        cout<<a[i]<<" ";
    return 0;
}

传入数组,然后用一个for循环就能实现了,第一个元素单独考虑

定义一个临时变量存数组坐标0
然后循环 a[i]=a[i+1] 这里的i是0到4
然后 a[5]=a[0]


#include <stdio.h>
#include <iostream>
using namespace std;
void fun(int data[]){
    int i;
    int temp = data[0];
    for(i = 0;i < 4;i++){
        data[i] = data[i+1];
    }
    data[4] = temp;
}
int main()
{
    int data[5],i;
    for(i = 0;i < 5;i++){
        cin >> data[i];
    }
    fun(data);
    for(i = 0;i < 5;i++){
        cout << data[i] << " ";
    }
    return 0;
}

#include<stdio.h>
int main()
{
int i, b[5],j;
printf("输入5个数:");
for (i = 0; i < 5; i++)
scanf("%d",&b[i]);
printf("5个数是:");
for (i = 0; i < 5; i++)
printf("%5d",b[i]);
}这是第一个题
#include<stdio.h>
void sort(int a, int n)
{
int t;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (
(a + i) > *(a + j))
{
t = *(a + i);
*(a + i) = *(a + j);
*(a + j) = t;
}
}
}
}
int main()
{
int i, b[5];
printf("输入5个数:");
for (i = 0; i < 5; i++)
scanf("%d", &b[i]);
sort(b,5);
printf("5个数排序后是:");
for (i = 0; i < 5; i++)
printf("%5d", b[i]);
}


/*
从键盘输入5个数,存在数组data[5]中,调用子函数实现:,
将五个数组元素中的第二个至第五个前移一个位置,
将第一个放到最后一个位置输出
*/

#include<stdio.h>

void st(int num[])
{
    int temp = num[0];
    for (int i = 0; i < 5; i++)
    {
        num[i] = num[i + 1];
    }
    num[4] = temp;
    for (int i = 0; i < 5; i++)
    {
        printf("%d ",num[i]);
    }
}
int main()
{
    int data[5] = { 0 };
    for (int i = 0; i < 5; i++)
    {
        scanf("%d",&data[i]);
    }
    st(data);
}
void input5Num(int a[5]){
for(int i=0;i<5;i++)
scanf("%d",&a[i]);
}
main()
{
printf("input 5 num:\n");
int x[5];
input5Num(x);
for(int i=0;i<5;i++)//打印5个数验证
x[i];
}


#include "stdio.h"
/*
从键盘输入5个数,存在数组data[5]中,调用子函数实现:,
将五个数组元素中的第二个至第五个前移一个位置,
将第一个放到最后一个位置输出
*/
void input5Num(int a[5]){//子函数 
for(int i=0;i<5;i++)
scanf("%d",&a[i]);
}
void change(int a[],int n){
    int t=a[0];
for(int i=0;i<5;i++)
    a[i]=a[i+1] ;
a[4] =t;}
main()
{
printf("input 5 num:\n");
int x[5];
input5Num(x);
change(x,5);
for(int i=0;i<5;i++)//打印5个数验证
printf("%d",x[i]);
}