| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1298 人关注过本帖
标题:[讨论]4个函数调用实在想不出来了
只看楼主 加入收藏
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
if(arr[0]==0)
A(arr);


这个在这里是。。。。。。。。什么意思!
2006-10-04 13:39
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
如果没有输入序列当然不能排序或者求平局值了,要返回去输入序列的

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-04 13:40
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
o  理解 理解!!!!
2006-10-04 13:52
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
那样不好 如果数组第一个元素是0就不行了
最好在主函数外面加一个标志变量全局变量来记录A()的调用情况,int flag=0;
然后在void A(int *num)的函数体里加flag=1;
然后在排序和平均数函数中判断if(flag==0) A(arr); 就可以了

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-04 13:57
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
那你全部列出来我看看吧!!!!

指针啊
2006-10-04 14:04
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

#include<stdio.h>
#define N 10
void A(int*);
void B(int*);
void C(int*);
int flag=0;

void main()
{
int select;
int num[N];
do
{
//printf(\" 调用4个函数(作业题2) \");
printf(\"\n0.退出\n1.输入10个数\n2.进行排序\n3.求平均值\n\");
printf(\"功能选择:\");
scanf(\"%d\",&select);
if(select==0)
break;
switch(select)
{
case 1:A(num);break;
case 2:B(num);break;
case 3:C(num);break;
//case 4:D(num);break;
default:printf(\"输入有误,请在0--3之间选择.\n\");
}
}while(1);
}
void A(int *num)//输入10个数
{
int i;
flag=1;
printf(\"\n请输入%d个数字:\",N);
for(i=0;i<N;i++)
scanf(\"%d\",&num[i]);
printf(\"\n您输入的%d个数为:\",N);
for(i=0;i<N;i++)
printf(\"%d \",num[i]);
printf(\"\n\");
}
void B(int* grade)//进行排序

{
if(flag==0)
A(grade);
int i,j;
int temp;
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
{
if(grade[j]<grade[j+1])
{
/*交换元素*/
temp=grade[j+1];
grade[j+1]=grade[j];
grade[j]=temp;
}
}
}
printf(\"\n这10个数字排序后为:\n\");
for(i=0;i<N;i++)
{
printf(\"%d \",grade[i]);
}
putchar('\n');
}
void C(int *arr)//求平均值
{
if(flag==0)
A(arr);
int i;
float ping=0.0;
for(i=0;i<N;i++)
{
ping+=arr[i];
}

printf(\"\n这10个数的平均值为:%.2f\n\",ping/N);
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-04 14:09
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
输出这些数    跑那去了?
2006-10-04 14:15
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

没有必要了
以为输入序列时A()已经把这些数输出了
排序函数结束时也把排序好的这些数输出了

为什么还要单独输出呢?


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-04 14:21
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
这也是我郁闷的,老师给布置的作业题
要求是4个函数调用
有功能选择来实现

0.退出
1.输入10个数
2.排序
3.求平均值
4.输出
2006-10-04 14:27
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

还有问题吗?

#include<stdio.h>
#define N 10
void A(int*);
void B(int*);
void C(int*);
void D(int*);
int flag=0;

void main()
{
int select;
int num[N];
do
{
//printf(\" 调用4个函数(作业题2) \");
printf(\"\n0.退出\n1.输入10个数\n2.进行排序\n3.求平均值\n4.输出这些数.\n\");
printf(\"功能选择:\");
scanf(\"%d\",&select);
if(select==0)
break;
switch(select)
{
case 1:A(num);break;
case 2:B(num);break;
case 3:C(num);break;
case 4:D(num);break;
default:printf(\"输入有误,请在0--4之间选择.\n\");
}
}while(1);
}
void A(int *num)//输入10个数
{
int i;
flag=1;
printf(\"\n请输入%d个数字:\",N);
for(i=0;i<N;i++)
scanf(\"%d\",&num[i]);
printf(\"\n您输入的%d个数为:\",N);
for(i=0;i<N;i++)
printf(\"%d \",num[i]);
printf(\"\n\");
}
void B(int* grade)//进行排序

{
if(flag==0)
A(grade);
int i,j;
int temp;
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
{
if(grade[j]<grade[j+1])
{
/*交换元素*/
temp=grade[j+1];
grade[j+1]=grade[j];
grade[j]=temp;
}
}
}
printf(\"\n这10个数字排序后为:\n\");
for(i=0;i<N;i++)
{
printf(\"%d \",grade[i]);
}
putchar('\n');
}
void C(int *arr)//求平均值
{
if(flag==0)
A(arr);
int i;
float ping=0.0;
for(i=0;i<N;i++)
{
ping+=arr[i];
}

printf(\"\n这10个数的平均值为:%.2f\n\",ping/N);
}
void D(int *num)//输出这10个数
{
if(flag==0)
A(num);
int i;
printf(\"\n这10个数为:\");
for(i=0;i<N;i++)
{
printf(\"%d \",num[i]);
}
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-04 14:35
快速回复:[讨论]4个函数调用实在想不出来了
数据加载中...
 
   



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

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