knrt.net
当前位置:首页 >> 谁能给我解释一下C语言中的数据逆序存放和输出是什... >>

谁能给我解释一下C语言中的数据逆序存放和输出是什...

就是于原顺序相反存放比如输入的是1 2 3 4 5按 5 4 3 2 1 存放望采纳,谢谢

不知道是奇数个数,还是偶数个数,都定义为n(n<100),先确定要在数组中存放几个数,即给n赋值,然后再给数组b[0]--b[n-1]赋值,最后逆序存放.main() { int i,b[100]; int n,temp; printf("the numbers is:"); scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&b[i]); for(i=0;i<n/2;i++) { temp=b[i]; b[i]=b[n-1-i]; b[n-1-i]=temp; } for(i=0;i<n;i++) printf("%5d",b[i]); printf("\n"); }

#include<stdio.h> main() { int a[5], i, temp; /*定义数组及变量为基本整型*/ printf("please input array a:\n"); for (i = 0; i < 5; i++) /*逐个输入数组元素*/ scanf("%d", &a[i]); printf("array a:\n"); for (i = 0; i < 5; i++) /*将数组中的元素逐个输出*/

可以将这个功能封装为一个函数.传入数组首地址,以及数组长度.以循环方式,对数组逆序遍历即可.代码:void revers_print(int *a, int l) { int i; for( i = l-1; i >=0; i -- ) printf("%d,",a[i]); return 0; }

这是逆序输出字符串的递归实现.

void main() { int arr[10],i=0,temp; for(;i<10;)scanf("%d",&arr[i++]); for(i=0;i<5;i++) { temp=arr[i]; arr[i]=arr[9-i]; arr[9-i]=temp; } for(i=0;i<10;i++)printf("%d ",arr[i]); printf("\n"); getch(); } 存放在数组a[10]中后才输出的.

#include<stdio.h> void main() { int a[5],i; for(i=0;i<5;i++) scanf("%d",&a[i]); printf("\n"); for(i=4;i>=0;i--) printf("%d \n",a[i]); } 其实只需要用一个数组代表输入的数据就可以了,反向输出时只需从数组的末尾开始就行了.

一种电脑编程语言

#include<stdio.h> int main() { int num, a[10], i, k=0; printf("请输入一个正整数:"); scanf("%d", &num); //分割正整数的每一位,并存放到数组a中 while(num>0) { a[k++] = num%10; // 将正整数的最低位保存到数组a中 num /= 10; // 将正整数的次低位变为最低位 } // 输出数组的每个元素,即实现逆序输出正整数 for(i=0; i<k; i++) printf("%d", a[i]); return 0; }

void p(int a[],int i,int n) { //其中a[]为传进来的数组,i为数组开头,n为数组长度 //这个算法使用递归实现的 if(i<n) { p(a,i+1,n); printf("%4d",a[i]); } }

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com