2个C语言填空 帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/26 02:21:05
1、 输入一个整数,然后反向输出。例如:输入1234,输出4321。要求用递归方法求解。
#include "stdio.h"
void Printn(int n)
{
if(n>=0&&n<=9) printf("%d", n); /*如果只有一位数,则直接输出*/
else /*如果有2位或者2位以上*/
{
printf("%d", ); /*先输出个位数*/
; /*递归调用自身,将十位到最高位反向输出*/
}
}
void main()
{
int n;
printf("输入:"); scanf("%d",&n);
printf("输出:");
if(n<0){n=-n; putchar('-');}
; /*调用函数将n反向输出*/
}
2、 编写一个函数void Reverse(int a[], int n),将包含n个元素的数组a[]反置,即a[0]和a[n-1]交换,a[1]和a[n-2]交换……在main()函数中测试Reverse ()函数的正确性。
#include <stdio.h>
#define N 10
void Reverse(int a[], int n)
{
int *p, *q; int t;
p=a; q= ;
while(p<q)
{
t = *p; ; ;
; q--;
}
}
void main()
{
int i;
int a[N] = {0,1,2,3,4,5

1.
#include "stdio.h"
void Printn(int n)
{
if(n>=0&&n<=9) printf("%d", n); /*如果只有一位数,则直接输出*/
else /*如果有2位或者2位以上*/
{
printf("%d", ); /*先输出个位数*/
n=n/10;
Printn( n);; /*递归调用自身,将十位到最高位反向输出*/
}
}
void main()
{
int n;
printf("输入:"); scanf("%d",&n);
printf("输出:");
if(n<0){n=-n; putchar('-');}
Printn( n);; /*调用函数将n反向输出*/
}

2.
#include <stdio.h>
#define N 10
void Reverse(int a[], int n)
{
int *p, *q; int t;
p=a; q=&a[n-1];
while(p<q)
{
t = *p; *p=*q;*q=t ;
p++; q--;
}
}
void main()
{
int i;
int a[N] = {0,1,2,3,4,5,6,7,8,9};
Reverse(a,N);
for(i=0;i<N;i++) printf("%d\t", a[i]);
}

1.
#include "stdio.h"
void Printn(int n)
{