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

输入10个数,然后对这10个数进行排序、求平均值,输出10个数


#include<stdio.h>
#define N 10
void A();
void B();
void C();
void D();
void main()
{
int select;
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();break;
case 2:B();break;
case 3:C();break;
case 4:D();break;
default:printf("输入有误,请在0--5之间选择.\n");
}
}while(1);
}
void A()//输入10个数
{
int i,num[N];
printf("\n请输入%d个数字:",N);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
printf("\n您输入的%d个数为:",N);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
}
void B()//进行排序
{
int i,j;
int grade[N],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]);
}
}
void C()//求平均值
{
int i,arr[N];
float ping;
for(i=0;i<N;i++)
scanf("%d",&arr[i]);
for(i=0;i<N;i++)
{
ping=arr[i]/N;
}
printf("\n这10个数的平均值为:%.2f",ping);
}
void D()//输出这10个数
{
int i,num[N];
printf("\n这10个数为:");
for(i=0;i<N;i++)
{
scanf("%d",&num[i]);
}
}

搜索更多相关主题的帖子: 函数 
2006-10-04 12:50
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
......
你哪里有问题呀?

你的0选项咧?

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-10-04 12:54
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
表开玩笑了嘛?这个题很急的
2006-10-04 13:01
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
没开玩笑...你里面的问题不少咧...

函数要传递好伐???

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-10-04 13:04
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
谢谢你的提醒!
我有改了改
帮看看
#include<stdio.h>
#define N 10
void A(int a[N]);
void B(int b[N]);
void C(int c[N]);
void D(int d[N]);
void main()
{
int select;
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(int a[N]);break;
case 2:B(int b[N]);break;
case 3:C(int c[N]);break;
case 4:D(int d[N]);break;
default:printf("输入有误,请在0--5之间选择.\n");
}
}while(1);
}
void A(int val1[N])//输入10个数
{
int i,num[N];
printf("\n请输入%d个数字:",N);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
printf("\n您输入的%d个数为:",N);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
}
void B(int val2[N])//进行排序
{
int i,j;
int grade[N],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]);
}
}
void C(int val3[N])//求平均值
{
int i,arr[N];
float ping;
for(i=0;i<N;i++)
scanf("%d",&arr[i]);
for(i=0;i<N;i++)
{
ping=arr[i]/N;
}
printf("\n这10个数的平均值为:%.2f",ping);
}
void D(int val4[N])//输出这10个数
{
int i,num[N];
printf("\n这10个数为:");
for(i=0;i<N;i++)
{
scanf("%d",&num[i]);
}
}
2006-10-04 13:12
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*);
void main()
{
int select;
int num[N]={0};
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--5之间选择.\n\");
}
}while(1);
}
void A(int *num)//输入10个数
{
int i;
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(grade[0]==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(arr[0]==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个数
{
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 13:19
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
除了指针 还有其他的方法做吗?


谢谢了!
2006-10-04 13:23
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
的确好乱呀.我也了...

楼上的貌似可以,LZ你自己瞅瞅哪有区别.

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-10-04 13:26
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

指针接受的数组首地址 然后对其进行操作,指针要来的容易些吧
C++里"引用"也可以达到相同目的的 只要是对相同得内存地址操作就可以


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-04 13:27
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
那我自己改的哪个 行不行啊!!
2006-10-04 13:29
快速回复:[讨论]4个函数调用实在想不出来了
数据加载中...
 
   



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

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