输入10个数据存入数组中,将其倒置存放,并打印输出。

请速答,本人实在不行不会,特来请教各路人才指点一二,本人万分感谢。

解答如下

img

#include<stdio.h>

int main()
{
    int n=10;//数组元素个数
    int t[n];
    for(int i=0; i<n; i++)
    {
        scanf("%d",&t[i]);//输入每个数
    }
    for(int i=0; i<n/2; i++)//首尾对头的数交换,交换n/2次
    {
        int tem=t[i];
        t[i]=t[n-1-i];
        t[n-1-i]=tem;
    }
    for(int i=0; i<n; i++)
    {
        printf("%d ",t[i]);//打印数组
    }
    return 0;
}

#include<iostream>
using namespace std;
int main()
{
    int a[10];
    for (int i = 0; i < 10; i++)
    {
        cin >> a[9 - i];
    }
    for (int i = 0; i < 10; i++)
        cout << a[i] << " ";
    return 0;
}

运行结果:

img

C++代码:

#include <iostream>
using namespace std;
int main()
{
    int a[10], i, j, t;
    cout << "请输入10个数:" << endl;
    for (i = 0; i < 10; i++)
        cin >> a[i];
    //导致
    i = 0;
    j = 9;
    while (i < j)
    {
        //交换a[i]和a[j]
        t = a[i];
        a[i] = a[j];
        a[j] = t;
        i++;
        j--;
    }
    cout << "倒置后:" << endl;
    for (i = 0; i < 10; i++)
        cout << a[i] << " ";
    return 0;
}

C代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    int a[10], i, j, t;
    printf("请输入10个数:\n");
    for (i = 0; i < 10; i++)
        scanf("%d", &a[i]);
    //导致
    i = 0;
    j = 9;
    while (i < j)
    {
        //交换a[i]和a[j]
        t = a[i];
        a[i] = a[j];
        a[j] = t;
        i++;
        j--;
    }
    printf("倒置后:\n");
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
    return 0;
}

img


#include<stdio.h>
void main()
{
    int a[10], b[10];
    for (int i = 0; i < 10; i++)
    {
        scanf_s("%d", &a[i]);
        b[10 - i - 1] = a[i];        //将数组a倒置存放在数组b中
    }
    for (int i = 0; i < 10; i++)
    {
        printf("%d ", b[i]);
    }
}

#include<stdio.h>
int main(){
int n=10,i;
int a[n],b[n];
printf("请输入十个数:\n");
for(i=0;i<n;i++) scanf("%d",&a[i]);
for(i=0;i<n;i++) b[n-1-i]=a[i];
printf("按逆序输出:\n");
for(i=0;i<n;i++) printf("%d ",b[i]);
return 0;

}

img


#include<stdio.h>
int main(void)
{
    int i=0,N=10,a[N];
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=N-1;i>=0;i--)
    {
        printf("%d ",a[i]);
    }
    return 0;
 } 

俩给方案

#include<stdio.h>
#define N 10
int main()
{
    int a[N],i,j, t;
        printf("\n 请输入10个数字\n");
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0,j=N-1;i<j; i++,j--)  // i j 表示一左一右两端的下标 ,逐渐向中间靠拢 
    {  //交换a[i]和a[j] 
        t=a[i];
        a[i]=a[j];
        a[j]=t;    
    }
    printf("\n 完成逆置以后:\n");
    for(i=0; i<N; i++)
        printf("%d ", a[i]);
    return 0;
}

/* 第二种方法 (二级常用方法) 
    for(i=0;i<N/2; i++)  
    {  //交换a[i]和a[N-1-i] 
        t=a[i];
        a[i]=a[N-1-i];
        a[N-1-i]=t;    
    } 
    
*/


C++代码,已注释:

#include<iostream>
using namespace std;

int main()
{
    int a[10],t;
    for (int i = 0; i < 10; i++)
    {    //输入10个整数 
        cin >> a[i];
    }
    for (int i = 0; i < 5; i++)
    {    //镜像位置交换值 
        t = a[i];
        a[i] = a[9-i];
        a[9-i] = t;
    }    
    for (int i = 0; i < 10; i++)
    {    //输出 
        cout << a[i] << " ";
    }
    return 0;
}
#include<stdio.h>
int main()
{
    int i,a[10];
    for(i=0; i<=9; i++)
    scanf("%d",&a[i]);
    for(i=9; i>=0; i--)
    printf("%d ",a[i]);
    return 0;
}

希望可以帮到你


#include <stdio.h>

int main()
{
    int a[] = {1,2,3,4,5,6,7,8,9,10,11};
    int *ptail,count = 0;
    int tmp;
    ptail = a+sizeof(a)/sizeof(a[1])-1;
    for(int count=0; count < (sizeof(a)/sizeof(a[1])>>1); count++)
    {
        tmp = *(a+count);
        *(a+count) = *(ptail-count);
        *(ptail-count) = tmp;
    }
    for(int i = 0;i < sizeof(a)/sizeof(a[1]); i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    return 0;
}