第1个回答 2018-01-05
我只会java 你可以参照下
先定义一个数组 然后将每次输入的数放在数组里面去
然后比较出大小
int[] num=new int[10];
int max=0;
int min=0;
System.out.println("输入:");
for(int i=0;i<10;i++){
num[i]=input.nextInt();
max=num[0]; //将第一个数赋值给max;
}
for(int i=0;i<10;i++){
if(max<num[i]){
max=num[i];
}if(min>num[i]){
min=num[i];
}
system.out.println("输入最大值:"+max+"最小值"+min);
}
当然也可以用数组排列的方式从小到大排列数组 然后输出数组里面的第一个和最后一个 分别是最小值和最大值
第2个回答 2018-01-05
for循环都可以转化为while循环
#include <stdio.h>
#define N 10
void Find(int a[], int* maxlen, int* minlen);
void main(void)
{
int a[N];
int maxlen = 0;
int minlen = 0;
int i = 0;
printf("请输入是个整形数据:\n");
for(i = 0; i < N; ++i)
{
scanf("%d", a+i);
}
Find(a, &maxlen, &minlen);
printf("max 的位数为%d\n", maxlen);
printf("min 的位数为%d\n", minlen);
}
void Find(int a[], int* maxlen, int* minlen)
{
int i = 0;
int max = a[0];
int min = a[0];
while(1)
{
++i;
if(a[i] > max)
{
max = a[i];
}
else if(a[i] < min)
{
min = a[i];
}
if(i == N)
{
break;
}
}
while(max)
{
++(*maxlen);
max /= 10;
}
while(min)
{
++(*minlen);
min /= 10;
}
}