C语言编程

要求在界面上输出:
Please input 5 numbers:
(输入五个数字)
The numbers you input is:(输出输入的五个数字)
The max number is:(输出最大的数字)
The min number is:(输出最小的数字)
The diffenece between the max number and min number is:(输出最大和最小的差值)
The average is:(输出五个数的平均值)
我刚学C语言一周,不知道你说的”数组”是什么?
如果可以的话,能写一下吗?

三楼的"m_bet"是什么符号?

Please input 5 numbers:
2 9 5 4 6
The numbers you input is: 2 9 5 4 6
The max number is: 9
The min number is: 2
The diffenece between the max number and min number is: 7
The average is: 5.20

Press any key to continue ...

数组就是存储一系列数的集合,数组的各个元素在内存中的存储位置是连续的,比如:

int a[10];

就声明了一个由10个int值组成的数组a,可以使用方括号[]加下标来访问其中的每个元素,注意第一个元素的位置是从0开始,所以a[0]才是首个元素而a[9]是最后一个元素,所以如果声明一个长度为N的数组,你就必须用0~N-1作为下标来访问各个元素,而使用超越数组大小的下标来访问数组元素的话结果是未定义的,比如对于上面的数组a,你不能写成int x = a[10]。

数组可以在声明的时候初始化,如:

int a[5] = {1,2,3,4,5};

这样数组a的下标从0到4就依次对应了1~5这5个数,如果你提供了数组的大小而只初始化了小于这个大小的元素,则其他未初始化的元素将自动设置0,比如:

int b[6] = {1,2,3,4,5};

则第6个元素即b[5]将自动设置为0,另外你还可以不指定数组的大小而在声明数组的时候初始化一定数目的元素,则编译器将自动计算元素个数来确定数组的大小,比如:

int c[] = {1,2,3,4,5,6,7,8,9,10,11};

则数组c的大小为11,因为它有11个元素。

以下是代码:

#include <stdio.h>

int main()
{
/*数组a用来存储输入,max和min存储最大最小值,dif存储差*/
int a[5], i, max, min, dif;

/*sum存储和,avg存储平均值*/
double sum = 0, avg;

/*用循环来读取输入*/
printf("Please input 5 numbers:\n");
for(i = 0; i < 5; ++i)
{
scanf("%d", &a[i]);
}

/*初始化max和min为输入的首个元素*/
max = min = a[0];

/*计算总和sum,以及找出最大和最小值*/
printf("The numbers you input is: ");
for(i = 0; i < 5; ++i)
{
printf("%d ", a[i]);
sum += a[i];
max = max > a[i] ? max : a[i];
min = min < a[i] ? min : a[i];
}

/*计算最大值与最小值的差,以及平均值*/
dif = max - min;
avg = sum / 5;

/*打印结果*/
printf("\nThe max number is: %d", max);
printf("\nThe min number is: %d", min);
printf("\nThe diffenece between the max number and min number is: %d", dif);
printf("\nThe average is: %.2f\n\n", avg);

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-03-13
刚开始学没有学数组的,你可以看一下后面的书你就知道了,下面是用最基本的方法编的,可能有点繁,用数组可能就简单好多:
main()
{
int a1,a2,a3,a4,a5,max,min,m_bet,sum,ave;
printf("Please input 5 numbers: \n");
scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5);
printf("\n\n\nThe numbers you input is:");
printf("\t%d\t%d\t%d\t%d\t%d\n",a1,a2,a3,a4,a5);
max=a1;
min=a1;
if(a2>max) max=a2;
if(a3>max) max=a3;
if(a4>max) max=a4;
if(a5>max) max=a5;

if(a2<min) min=a2;
if(a3<min) min=a3;
if(a4<min) min=a4;
if(a5<min) min=a5;

m_bet=max-min;

sum=a1+a2+a3+a4+a5;
ave=sum/5;

printf("\nThe max number is:\t%d\n",max);
printf("\nThe min number is:\t%d\n",min);
printf("\nThe diffenece between the max number and min number is:");
printf("\t%d\n",m_bet);
printf("\nThe average is:\t%d\n",ave);
getch();
}

m_bet是最大和最小的差值变量的标识符,也就是一个变量的名字本回答被提问者采纳
第2个回答  2007-03-12
#include<stdio.h>
void main()
{
int i=n=sum=0,a[100]=0;
int max=min=0;

printf("请输入数据个数\n");
scanf("%d",&n);
printf("请输入n个数据\n",n);

for(i=0;i<n;i++)
scanf("%d",&a[j++]);

max=a[0];
min=a[0];
sum=a[0];
for(i=0;i<n;i++)
{
(max>=a[i])?max=max:max=a[i];
(min<=a[i])?min=min:min=a[i];
sum++=a[i];
}

printf("The numbers you input is");
for(i=0;i<n;i++)
printf("%d ",a[i]);

printf("The max number is %d\n",max);
printf("The min number is %d\n",min);
printf("The diffenece between the max number and min number is %d\n",max-min);
printf("The average is %f\n",(float)sum/n);
}
这个程序将你要写的程序扩展了,这里你可以键入你想键入的个数。你可以将n设为5这样就得到了你想要的程序了。
第3个回答  2007-03-11
str[].数组~!
第4个回答  2007-03-11
....不会不要照抄好不,楼主要是晚上没人回答的话,我帮你写个上去,现在要去逛街了,你可以用数组a[],来做,不会很难的,你尝试下
相似回答