一简单编程题C语言的

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:18:45
读入一批数据,并找到其中最小值。要求用数组保存数据,用函数求解最小值。
解释下这个我就采纳。while(!feof(stdin) && n<MAX)

while(!feof(stdin) && n<MAX)
这里的意思分两部分:
1、feof(stdin)函数用于判断标准输入流(键盘等)是否输入文件结束符号(EOF),是则返回0,在这里之前加了否定,就是表示只有输入为结束才返回1
2、n<MAX是判断n与MAX的比较,n<MAX则返回1,否则返回0

那么总体来说是就是判断输入是否为结束,同时控制n,只有输入的是结束并且n<MAX,才执行后面的程序段,按照你这里的意思就是每次一个数据并且这个数据输入之后,总数据之后<MAX,那么然后就判断现输入的和已有的数据中是否是最小的

要思路还是具体程序,要程序的话,联系jhhh999@163.com

#include <stdio.h>
/*定义最大数*/
#define MAX 100
/*找最小值的函数*/
int min(int a[MAX], int n){
int i,x;
x=a[0];
for (i=1;i<n;i++)
if (a[i]<x) x=a[i];
return x;
}

/*主程序*/
main(){
int a[MAX],n,i;
printf("输入一批数(最多%d),按Ctrl+Z(UNIX上是CTRL+D)结束:\n",MAX);
n=0;
while(!feof(stdin) && n<MAX)
{scanf("%d",&a[n]);n++;}
n--;
printf("最小值是 %d \n",min(a,n));
}

以上程序在SCO UNIX和TURBO C 2.0上测试通过。

//输入数据以空格隔开,以回车结束
#include <stdio.h>
int count=0;
int min(int array[])
{