C语言:输入10个数找出最大值和最小值的位数(用while做)怎样做?

如题所述

按你的要求写好了,只是要比较的数值的格式要自己输入,如果你一定要10个的话,就自己修改下代码,也不麻烦的,我已经运行出来了,希望对你有用!代码附带在下面:
#include<stdio.h>
#include<stdlib.h>

void main()
{
int max,min;
int flog;
int N;
int i=1;
int digit(int num); /*寻找位数*/

printf("Please input the number you want to compare:");
scanf("%d",&N);
while(1)
{
printf("The %d number is:",i);
scanf("%d",&flog);
if(i==1)
max=min=flog;
else if(max<flog) max=flog;
else if(min>flog) min=flog;
i++;
if(i==N+1)
break;
}
printf("Max=%d\n",max);
printf("Min=%d\n",min);
printf("The maximum number digits is %d\n",digit(max)); //输出最大数的位数
printf("The minimum number digits is %d\n",digit(min)); //输出最小数的位数
system("pause");
}

/*寻找位数*/
int digit(int num)
{
if(abs(num)>0 && abs(num)<10)
return 1;
if(abs(num)>9 && abs(num)<100)
return 2;
if(abs(num)>99 && abs(num)<1000)
return 3;
if(abs(num)>999 && abs(num)<10000)
return 4;
if(abs(num)>9999 && abs(num)<100000)
return 5;

}
温馨提示:内容为网友见解,仅供参考
第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;
}
}

C语言:输入10个数找出最大值和最小值的位数(用while做)怎样做?
printf("Min=%d\\n",min);printf("The maximum number digits is %d\\n",digit(max)); \/\/输出最大数的位数 printf("The minimum number digits is %d\\n",digit(min)); \/\/输出最小数的位数 system("pause");} \/*寻找位数*\/ int digit(int num){ if(abs(num)>0 && abs(num)<10...

C语言:输入10个数找出最大值和最小值的位数(用while做)注意!是位数
int num[10]; \/\/用来接收10个数 int max,min; \/\/用来代表最大值的位数和最小值的位数 int max_num,min_num; \/\/用来存放比较时两个最值的中间变量 int i=0;printf("请输入10个实数:\\n“);scanf("%d",&num[i++]); \/\/先接收1个数存入数组num中 max_num=num[0];min_num=num[...

C语言,输入10个数怎样输出10个数中最大值,最小值(大一计算机)
} while (loop!=0);printf("输入的10个数中,最大数:%d\\t最小数:%d\\n", max, min);return 0;}

c语言任意输入10个数,计算并输出最大值和最小值
if (value > max) max = value;\/\/找最大值 if (value < min) min = value;\/\/找最小值 loop--;\/\/循环变量递减 } } while (loop != 0);printf("输入的10个数中,最大数:%d\\t最小数:%d\\n", max, min);\/\/输出最值 return 0;} 程序运行结果如下:...

用while从键盘输入10个整数,并求出其中的最大值,最小值,总和,平均...
a[i]>a[j]){ temp=a[i];a[i]=a[j];a[j]=temp;} j++;\/\/该while循环内完成后最大的一个数会变为a[10]} i++;\/\/该while循环内完成后数组内的数是从小到大一次排好的,现在a[0]最小,a[10]最大 } printf("max is %d\\n",a[0]);printf("min is %d\\n",a[10]);} ...

C语言:输入10个数,输出最大和最小值,用while语句
\/\/ scanf("%lf",&num) ;max=min=num;\/\/num没有初始值,他的值不是确定的,出现什么都可能

输入十个数求最大值和最小值用c语言编程实现用while循环语句实现_百度...
include <stdio.h>int main(){ int max,min,d; scanf("%d",&d); max=min=d; int i=1; while(i<10) { scanf("%d",&d); if(min>d) min=d; if(max<d) max=d; i++; } printf("max=%d,min=%d\\n",max,min); return 0; } ...

c语言任意输入10个数,计算并输出最大值和最小值
} while (loop != 0);printf("输入的10个数中,最大数: %d\\t最小数:%d\\n", max, min); \/\/ 输出结果 return 0;} 程序运行时,用户按照提示输入10个整数,程序会自动找出这10个数中的最大值和最小值,并将其显示在屏幕上。这种实现方式相对直接,通过简单的逻辑判断和变量更新,就能完成...

怎样使用C语言输入十个数计算最大值和最小值。
printf("最小值是:%d\\n", min);return 0;} ```上述程序首先包含了`stdio.h`和`limits.h`头文件,`stdio.h`是为了使用输入输出函数,`limits.h`是为了使用`INT_MAX`和`INT_MIN`这两个宏,它们分别代表C语言中可表示的最大和最小整数值。程序定义了一个十个元素的整数数组`numbers`来存储...

...从键盘上输入10个整数,求其中的最大值和最小值
i]=a[j];a[j]=temp;} j++;\/\/该while循环内完成后最大的一个数会变为a[10]} i++;\/\/该while循环内完成后数组内的数是从小到大一次排好的,现在a[0]最小,a[10]最大 } printf("max is %d\\n",a[0]);printf("min is %d\\n",a[10]);} 纯手打,望采纳~~有问题,可追问~...

相似回答