當前位置:首頁 » 編程語言 » 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]);
}