回 帖 发 新 帖 刷新版面

主题:函数调用。

3.    写一个函数实现将一维数组中的元素反序存放。并编写主函数,输入一维数组,调用此函数实现数组元素反序存放,并在主函数中输出。
这是我编的:
#include<stdio.h>
int fan(int a[5])
{
  int i,b[5];
  b[i]=a[4-i];
  return(b[i]);
}
void main()
{
  int c[5],i,f[5];
  printf("please input 5 numbers:");
   for(i=0;i<=4;i++)
    {
     scanf("%d",&c[i]);
     f[i]=fan(c);
    }
   for(i=0;i<=4;i++)
    printf("%d ",f[i]);
    printf("\n");
}
各位帮忙看看啊!不知道怎么编,特别是那个函数不知道怎么定义,总感觉有问题。 

回复列表 (共6个回复)

沙发

main函数中的i可不是fan函数中的i啊
int fan(int a[5],int i)
{
  return (a[4-i]);
}
lz应该多看看函数这块啊、、尤其注意形参和实参之间的关系,还有涉及到传值与传址的情况额、、lz加油!

板凳


楼主为什么要编的那么难啊 我把你的修改了下  看看不错吧   呵呵 运行也没问题 ,而且很好懂啊 
#include<stdio.h>
int fan(int a[5])
{
  int i,b[5];
  for(i=0;i<=4;i++)
  {
  b[i]=a[4-i];
  }
for(i=0;i<=4;i++)
    printf("%d ",b[i]);//在子函数里输出就可以  
    printf("\n");
}
void main()
{
  int c[5],i,f[5];
  printf("please input 5 numbers:");
   for(i=0;i<=4;i++)
    {
     scanf("%d",&c[i]);
   
    }
    fan(c);//注意把子函数放到括号外面。你看你写的。还有不用什么f[i]=fan (C)
}
[em2]

3 楼


看楼下的我写的不错吧。。。呵呵

4 楼


谢谢各位了,我会努力的!

5 楼

#include<stdio.h>
#define NUM 5

int fan(int a[NUM])
{
  int i,b[NUM];
  for(i=0;i<NUM;i++)
  {
  b[i]=a[4-i];
  }
  for(i=0;i<NUM;i++)
  {
      a[i]=b[i];
  }
  return 0;
}

void main()
{
  int c[NUM],i,f[NUM];
  printf("please input %d numbers:\n",NUM);
  for(i=0;i<NUM;i++)
  {
     scanf(" %d",&c[i]);
     f[i]=c[i];
  }
  fan(c);
  
  printf("before\n");
  for(i=0;i<NUM;i++)
  {
      printf("%d\t",f[i]);
  }
  printf("\nafter\n");
  for(i=0;i<NUM;i++)
  {
      printf("%d\t",c[i]);
  }
  
}

6 楼

http://edu.tenchong.com:9005

我来回复

您尚未登录,请登录后再回复。点此登录或注册