14. 将n个数按输入时顺序的逆序排列,用函数实现。解题思路: 定义两个指针,一个指向数组头部,一个指向数组尾部,头部每次+1,尾部每次-1;则在头部小于尾部的情况下进行数据交换即可。答案:#include<stdio.h> #include<math.h> void reorder(int *arry, int n) { int *start = arry; int *end = arry +...
printf("\n"); return 0; } 程序2:用指针变量作实参 #include<stdio.h> int inv(int *x, int n) { int *p, temp, *i, *j, m = (n - 1) / 2; //形参数组名x接收了实参数组首元素a[0]的地址 i = x; j = x + n - 1; p = x + m; for (; i <= p; i++, j--) { ...
1、因为输入的数值有多个,且不会超过100, 所以我们可以考虑用数组来存储。2、要求逆序打印出来,我们只需要把数组中的元素逆序输出就可以了。下面直接上代码:include "stdafx.h"#include <string>#include <iostream>using namespace std;int main(){ int iInputNum[100] = {0}; //用于保...
include<stdio.h> include<string.h> define max 1000 void main(){ int a[max];int n;int i;for(i=1;i<=n;i++)scanf("%d",a[i]);for(i=n;i>0;i--)printf("%d",a[i]);printf("\n");}
include <stdio.h>void dx(int n){int i=0,c[100]; do { c[i]=n%10; printf("%d",c[i]); i++; }while(n=n/10);}void main(){ int n; printf("输入整数:"); scanf("%d",&n); dx(n);}void dx(int n){ int i=0,c[100];do { c...
把这个n位数当成字符串操作,很简单 char s[10]={"\0"};int len=0,i;scanf("%s",s);len=strlen(s);printf("\n");for(i=len-1;i>=0;i--){printf("%c",s[i]);}
在C++语言中可以使用递归函数来实现这样一个功能。在主函数中,先读入一个整数,然后调用这个递归函数。在递归函数中检测一下,如果形式参数的值大于9就去掉形式参数的个位数后,递归调用自身,然后在每一次的返回前输出形式参数的个位数。
思路就是将 数组中第一个和最后一个换位置 第二个和倒数第二个换位置 以此类推 源代码如下:include<stdio.h> int main(){ int n;//n个数字 int i;//循环变量 int num[50];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&num[i]);for(i=0;i<n/2;i++){ int t;//交换...
include<stdio.h>#define N 20void matrx1(int a[][N],int m,int n){int d,x=0,y=0;int right,left,up,down;for(d=1;d<=m*n;d++){a[x][y]=d;right=y<n-1&&a[x][y+1]==0;left=y>0&&a[x][y-1]==0;down=x<m-1&&a[x+1][y]==0;up=x>0&&a[x-1][y...
第一块:i=q;j=q+n-1;t=q+n/2;for(;i<t;i--,j++){temp=*i; *i=*j; *j=temp;}第二块:for(i=0;i<10;i++) scanf("%d",&a[i]);rev(a,10);for(i=0;i<10;i++) printf("%d ",a[i]);