标题:C语言,菜单程序,参数传递问题,该怎么改啊啊啊,求解,谢谢!
只看楼主
最后的晴朗
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-18
结帖率:100%
已结贴  问题点数:20 回复次数:3 
C语言,菜单程序,参数传递问题,该怎么改啊啊啊,求解,谢谢!
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define N 100 
//输出数组,并输出元素个数 
 int shuchu(int s[],int q)
{
    int i,n;
    int j=0;
    n=sizeof(s);
    printf("输出数组:\n");
    for(i=1;i<=n;i++)
    {
        printf("%4d",s[i-1]);
        j++;
        if (s[i]==-1)
        break;
    }
    printf("\n");
    printf("数组元素个数为:%d\n",j);
}
//数组接收 
int A(int s[],int e) 

 {
     static int a[N];
     int m,n,i;
     printf("请输入数组元素:\n");
     for(n=0;n<=N;++n)
     {
     scanf("%d",&a[n]);
     if(a[n]==-1)
     break;
    }
     shuchu( a,m);
   return 0;

 }

 //删去数组中指定的值 
 int B(int s[],int f)

 {
     int de,mark,i,j,m;
     printf("请输入要删除的数据:\n");
     scanf("%d",&de);
     int n;
     n=sizeof(s);
     printf("数组的长度为:%d",n);
     for(i=0;i<=n-1;i++)
     {
         if(de==s[i])
         mark=i;
     }
     for(i=mark;i<=n-2;i++)
     {
         s[i]=s[i+1];
     }
     printf("\n");
     shuchu(s,m);
     return 0;

 }

 //从小到大排序 
 int C(int s[],int g)

 {
     int i,j,temp,m;
      for(i=0;i<10;i++)
      {
         for(j=0;j<10-i-1;j++)
         {
              if(s[j]>s[j+1])
              {
                temp=s[j];
                s[j]=s[j+1];
                s[j+1]=temp;
            }
          }
        }
     shuchu(s,m);
     return 0;

 }

 //插入一个值 
 int D(int s[],int h)

 {
     int x,k,m;
      printf("请输入需要插入的数:\n");
        scanf("%d",&x);
          int j=0;
         while(s[j]<=x)j++;
           for(k=10;k>=j;k--)//比x大的元素后移
           {  
              s[k+1]=s[k];
            }
              s[j]=x;
              shuchu(s,m);
return 0;

 }

 //求平均值 
 int E(int s[],int t)
{
    int i,j,num,sum;
    shuchu(s,num);
    for(j=0;j<=num;j++)
    {
        sum=s[i]+s[i+1];
    }
    printf("该数组的平均数为:\n");
    printf("%d",sum/num);
    
}

//主函数 
int main()
{
    int m,x;
    static int s[N];
    printf("菜单:\n**1.输出一组数\n**2.删除x\n**3.从小到大顺序输出\n**4.插入一个数\n**5.求平均值\n**6.结束\n");

 for(;;)
     {         
         printf("请输入您想使用的功能序号:\n");
             scanf("%d",&m);
        if(m==1) A(s,m);
            if(m==2) B(s,m);
                if(m==3) C(s,m);
                    if(m==4) D(s,m);
                        if(m==5) E(s,m);
     } 


    return 0;

 } 
搜索更多相关主题的帖子: int for 数组 printf return 
2020-06-18 11:24
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
得分:20 
只看了int A(int s[],int e),好像参数都没用上吧

梦想拥有一台龙芯3A-4000
2020-06-18 13:10
最后的晴朗
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-18
得分:0 
回复 2楼 ditg
所以A()不需要参数吗?
2020-06-18 13:32
最后的晴朗
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-18
得分:0 

2020-06-18 13:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502179-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084943 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved