当前位置:首页 » 编程语言 » c语言最大值却输出最小值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言最大值却输出最小值

发布时间: 2022-05-04 18:12:35

c语言为什么我写程序求最大值,结果求出最小值

以上程序运行时,你的输入有问题,应该输入的是以英文逗号隔开两个数值,你输成了中文逗号。

Ⅱ c语言任意输入10个数,计算并输出最大值和最小值

程序源码如下:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main()

{

int loop = 10;//定义循环次数

int min, max, value;//定义最大值、最小值、输入值

printf("输入整数:");//文字提示

do//循环输入并进行判断最大最小

{

scanf("%d", &value);//输入

if (loop == 10) //第一次输入

{

max = min = value; loop--; continue;//先将max、min放入一个数用于比较

}

else

{

if (value > max) max = value;//找最大值

if (value < min) min = value;//找最小值

loop--;//循环变量递减

}

} while (loop != 0);

printf("输入的10个数中,最大数:%d 最小数:%d ", max, min);//输出最值

return 0;

}

程序运行结果如下:



(2)c语言最大值却输出最小值扩展阅读:

其他实现方式:

#include<stdio.h>voidmain()

{

floatnum[10];

inti;

floatmax,min;

for(i=0;i<10;i++)

{

scanf("%f",&num[i]);

if(i==0)

{

max=min=num[i];

}

else

{

if(max<num[i])

{

max=num[i];

}

if(min>num[i])

{

min=num[i];

}

}

}

printf("max=%.2f ",max);

printf("min=%.2f ",min);

}

Ⅲ C语言编程序想输出最大值为什么输出最小值!!

#include <stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)
{
z=x;
}
else
{

z=y;
}
return (z);
}
试试看
你输入的时候要这样 1,5 中间要有逗号的

Ⅳ C语言输入N个数输出最大值和最小值

#include<stdio.h>

void main(){
int i,j,temp,count;
printf("请输入你需要输入的个数:");
scanf("%d",&count);
while(count<=0||count>10000){
printf("个数必须在1到10000之间!\n\n");
printf("请输入你需要输入的个数:");
scanf("%d",&count);
}
int num[count];
for(i=0;i<count;i++){
printf("请输入第%d个数:",(i+1));
scanf("%d",&num[i]);
}
for(i=0;i<count;i++){
for(j=0;j<count-i-1;j++){
if(num[j]<num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
printf("max=%d,min=%d\n",num[0],num[count-1]);
}

Ⅳ c语言输出最大最小值

C语言中求最大值和最小值,一般都是使用假设法,即先假设某个数是最大值和最小值,然后遍历比较即可。下面实例,求一个数组中的最大值和最小值,先假设a[0]是最大值,同时也是最小值,然后遍历数组进行比较,得出结果。

#include<stdio.h>
intmain()
{
inta[]={1,2,3,4,5,6,7,8,9,10};
intmax,min;
max=min=a[0];//假设第1个元素即是最大值也是最小值。
int*p=a;
//遍历数组,找出数组a中的最大数和最小数
for(intinx=0;inx!=sizeof(a)/sizeof(int);++inx){
if(*(p+inx)>max)max=*(p+inx);
elseif(*(p+inx)<min)min=*(p+inx);
}
printf("最大数:%d 最小数:%d ",max,min);
return0;
}

Ⅵ C语言 三个任意数求输出最大值最小值

你的错误原因在于scanf("%d%d%d"&a,&b,&c);少了一个逗号,应该是scanf("%d%d%d",&a,&b,&c);

以下是三个任意数求输出最大值最小值正确的代码:

(6)c语言最大值却输出最小值扩展阅读:

用另外一种方法求三个任意数求输出最大值最小值

#include <iostream>

using namespace std;

int main()

{

int num1,num2,num3,max,min;

cout<<"任意输入三个整数:";

cin>>num1>>num2>>num3;

if(num1>num2)

{

max=num1;

min=num2;

}

else

{

max=num2;

min=num1;

}

if(max>num3)

{

max=max;

}

else

{

max=num3;

}

if(min>num3)

{

min=num3;

}

else

{

min=min;

}

cout<<"max="<<max<<endl;

cout<<"min="<<min<<endl;

return 0;

}

Ⅶ C语言问题关于求出最大值和最小值

第一个问题:
为什么在求最大最小值钱,要把a[0][0]赋值给max,min
答:
因为max,min在最开始没有初始化,不能直接比较,而因为是比较数组里的值,又不能随便初始化。所以我们选择默认第一个数最大(或最小)。
第二个问题:
if语句
有很多个条件符合这个条件啊,怎么只输出那个最大的
而其他也符合这个条件的?
答:
我们先默认了最大(或最小值)是第一个数组元素,我们把他依次和后面元素比较,当碰到比它大(或小)的值,我们就把它保存到max(min),并在h,l中保存元素所在数组的位置,所以每次比较完,max(min)里保存的始终是最大(或最小)值。

Ⅷ 编写一个c语言程序,输入5个数,求它们中最大值和最小值并输出

#include <stdio.h>

void main( )

{

int i = 0 , num[5], max = 0 , min = 0 ; /* max:用于存放最大值;min:用于存放最小值 */

for( i = 0 ; i < 5 ; i ++ )

scanf("%d", &num[i]) ; /* 循环地将输入的五个数存入 num[5] 数组中 */

for( i = 0 ; i < 5 ; i ++ ) /* 循环地判断数组中的数要是比 max 还大,则将相应的数存入 max 变量中 */

if( num[i] >= max )

max = num[i] ;

for( i = 0; i < 5 ; i ++ ) /* 循环地判断数组中的数要是比 min 还小,则将相应的数存入 min 变量中 */

if( num[i] <= min )

min = num[i] ;

printf("MAX num is :%d MIN num is :%d ", max, min) ;

}

c语言编程技巧

1、while(--n>=0)与while(n-->0)

在大多数C语言实现中,--n >=0 至少与等效的n-- >0 一样快,大多数情况下前者更快。

主要因为第一个表达式首先从n中减去1然后将结果与0比较;而第二个表达式首先保存n,从n中减去1之后比较保存值与0的大小,这中间多了一个保存的时间,从而前一个表达式更快。

注意:这样的循环中,尽量不使用unsigned类型,否则前者会出现无限循环情况。

2、多重循环处理

对于多重循环,如果可能,应将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。

Ⅸ C语言数值超出了最大值会输出最小值-1的值

对于有符号数的最大整数值,如果再+1的话,输出的结果是-1。
以一个字节的为例子说明这个问题。
char型的最大整数值是127,对应的二进制是: 0111 1111,最高位0表示符号位(0为正,1为负),然后加1的话,就变成了1000 0000,这个你应该知道吧。而这个1000 0000恰好是-1的补码,因为负数在内存中是以其补码的形式存放的,所以输出的结果是-1。

Ⅹ c语言函数找最大值最小值输出来,求大神解答

#include<stdio.h>
int Max(int a[],int n)
{
int s,max=0;
for(s=1;s<=9;s++)//逐个循环进行比较大小找出最大值
{
if(a[max]<a[s])
max=s;
}
return max;
}
int Min(int a[],int c)
{
int d,min=0;
for(d=1;d<=9;d++)
{
if(a[min]>a[d])
min=d;
}
return min;
}
main()
{
int a[10],i,n;
printf("请任意输入10个数字\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
int larger;
larger=Max(a,10);//调用Max函数找出最大值并赋值
printf("最大数为%d\n",a[larger]);
int smaller;
smaller=Min(a,10);
printf("最小数为%d\n",a[smaller]);
n=a[larger];
a[larger]=a[smaller];
a[smaller]=n;
for(i=0;i<10;i++)
printf("%2d",a[i]);
}