C语言 求10个整数的最小值及最小值的位置。

如题,输入十个数并使其计算后,没有输出产生。。。求教。
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i,mark,min,loc;
scanf("%d",&mark);
min=mark;
for(i=1;i<=10;i++){
scanf("%d",&mark);
if(min>mark)
min=mark;
loc++;}
printf("min=%d,loc=%d\n",min,loc);
system("pause");
return 0;
}

LZ的 loc ++ 没有定位功能(因为没有再 if 条件中)
而1L的 loc = loc+1 只是计算有多少次遇到较小值
如输入
1(loc = 0)
2(loc = 0)
3(loc = 0)
4(loc = 0)
5(loc = 0)
0(loc = 1)
...

我的做法是用循环中的i来标识位置

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i,mark,min,loc;
scanf("%d",&mark);
min=mark;
loc=1; //标识初试位置
for(i=2;i<=10;i++) //前面已经输入一个了,所以后面只应当有9个输入 i=2~10
{
scanf("%d",&mark);
if(min>mark)
{
min=mark;
loc=i; //重新定位最小的数的位置
}
}
printf("min=%d,loc=%d\n",min,loc);
system("pause");
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-12
int main(void)
{
int i,mark,min,loc=0;
scanf("%d",&mark);
min=mark;
for(i=1;i<=9;i++){
scanf("%d",&mark);
if(min>mark)
{
min=mark;
loc = i+1;
}
}
printf("min=%d,loc=%d\n",min,loc);
system("pause");
return 0;
}

这个就OK。试试看吧。
第2个回答  2020-03-02
sorry,刚开始没看清问题:
1,
这两个程序都能正常运行,但是结果不一样;你的位置是从1开始的,第二个程序
是从0下标开始的。
2,第二个程序也有错:必须为loc赋初值0.
否则当最小值是a[0]时,loc输入就不知所云了!!!
第3个回答  2019-03-04
效果上没什么区别,同样可以达到求最小值效果,只是位置不一样。你求的是你理解的位置,而通过数组索引求的是存在在机器的位置。可能仅此而已吧,没必要纠结这个问题。

C语言 求10个整数的最小值及最小值的位置。
效果上没什么区别,同样可以达到求最小值效果,只是位置不一样。你求的是你理解的位置,而通过数组索引求的是存在在机器的位置。可能仅此而已吧,没必要纠结这个问题。

c语言从键盘输入任意整数,求最大和最小值
C语言从键盘输入任意的10个整数,从中找出最大值和最小值的具体步骤如下:1、首先输入 include<stdio.h> int main(){ int arr[10] = {0};int i = 0;int max = 0;int min = 0;printf("请输入10个整数:");2、然后输入 for (i = 0; i < sizeof(arr)\/ sizeof(arr[0]); i+...

c语言任意输入10个数,计算并输出最大值和最小值
c#includeintmain(){intloop=10,min,max,value;printf("请输入10个整数:");\/\/提示用户输入do{scanf("%d",&value);\/\/读取用户输入if(loop==10){\/\/第一次输入max=min=value;loop--;continue;}else{if(value>max)max=value;\/\/比较并更新最大值if(value<min)min=value;\/\/比较并更新最小值...

c语言任意输入10个数,计算并输出最大值和最小值
int min, max, value;\/\/定义最大值、最小值、输入值 printf("输入整数:");\/\/文字提示 do\/\/循环输入并进行判断最大最小 { scanf("%d", &value);\/\/输入 if (loop == 10) \/\/第一次输入 { max = min = value; loop--; continue;\/\/先将max、min放入一个数用于比较 } else { if ...

C语言从键盘输入任意的10个整数,从中找出最大值和最小值并输出
int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; int loop, largest; largest = array[0]; for(loop = 1; loop < 10; loop++) { if( largest < array[loop] ) largest = array[loop]; } printf("最大元素为 %d", largest); return 0; } 2、找出最小值并输出的源代码如下...

c语言:用指针做函数参数从10个数中找出其中最大值和最小值。
include<stdio.h> main(){ printf("输入10个整数,找出其中最大值和最小值···\\n");int a[10]={0};int max,min,i;for(i=0;i<=9;i++){ printf("请输入第%d个整数:",(i+1));scanf("%d",&a);} max=min=a[0];for(i=0;i<=9;i++){ if(a>max)max=a;if(a<min)...

C语言,输入10个数怎样输出10个数中最大值,最小值(大一计算机)_百度知...
printf("输入整数:");scanf("%d", &value);if (loop==10) { max = min = value; loop--; continue;} else { if (value > max) max = value;if (value < min) min = value;loop--;} } while (loop!=0);printf("输入的10个数中,最大数:%d\\t最小数:%d\\n", max, min)...

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

c语言 输入10个数 找出最大数与最小数 并指出所在位置
include<stdio.h>int main() { int a[] = {1,2,3,4,5,6,7,8,9,10};int max, min;max = min = a[0]; \/\/假设第1个元素即是最大值也是最小值。int max_pos = 0, min_pos = 0; \/\/遍历数组,找出数组a中的最大数和最小数for (int inx=0; inx!=sizeof(a) \/ sizeof(...

C语言编程:任意输入10个整数放入数组中,然后求其中的最大值和最小值...
1、任意输入10个整数放入数组中求其中的最大值和最小值的源代码如下:include <stdio.h> void main(){ int array[10];\/\/用来存储输入的数据 int max;\/\/用来存放最大的数 int i;\/\/用于循环 for(i=0;i<10;i++) \/\/一次输入10个数 { \/\/输入一个数并按回车键 scanf("%d",&a[i])...

相似回答
大家正在搜