新聞中心
C語言 調(diào)用函數(shù)求最大值問題
您的程序有多處錯誤。既然是初學(xué),就先把最基本的東西都弄清楚啊,否則別人都不愿意幫您。簡單列出您的錯誤如下:
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的鼎城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1)在max函數(shù)內(nèi)又聲明了a[10],這和傳遞給max函數(shù)的參數(shù)同名。
2)在max函數(shù)內(nèi)聲明了一個變量max,這與max函數(shù)又是同名,雖然不一定會出錯,但需要盡量避免啊。
3)int max(int a[], int i)是正確的寫法,不必寫int a[10]。
4)在主函數(shù)main中的max(a[10],i)就是錯誤的寫法了,把數(shù)組傳遞給函數(shù)時,只能寫數(shù)組名a,不能寫a[10],a[10]只代表了數(shù)組中的一個元素。
5)printf中的那個max,屬于未聲明就使用的變量,而且又與函數(shù)max同名。
給個修改后的程序,您自己對照吧。
6)printf函數(shù)沒指定最大值的輸出位置與格式。
#include "stdafx.h"
#include "stdio.h"
int max(int a[])//原代碼中將i傳遞進來,毫無必要
{
int maxv=a[0];//原代碼取max,與函數(shù)同名,要避免
int i;
for(i=1;i10;i++)
if(maxva[i])
maxv=a[i];
return(maxv);
}
int main()
{
int i,a[10],maxvalue;
printf("請輸入10個數(shù):\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
maxvalue = max(a);//原代碼max(a[10],i),a[10]只會傳遞一個數(shù)而不是數(shù)組
printf("最大的數(shù)是:%d\n",maxvalue);//您別漏了%d啊
}
c語言 用函數(shù)調(diào)用的方式求兩個數(shù)當(dāng)中最大的那個
#include stdio.h
int max(int a,int b);
int main(void)
{
int a,b,c;
printf("輸入兩個整數(shù):");
scanf("%d%d",a,b);
c=max(a,b);
printf("較大的數(shù)是:%d\n",c);
return 0;
}
int max(int a,int b)
{
if(ab)
return a;
else
return b;
}
用C語言編程從鍵盤上輸入10個數(shù),寫一個函數(shù)(主函數(shù)調(diào)用該函數(shù)),求出其中最大的一個數(shù)。
思路:定義一個函數(shù)int fun(int a[]),該函數(shù)通過傳遞的參數(shù)數(shù)組依次遍歷,尋找最大值,最后返回最大值,主函數(shù)輸入數(shù)組,調(diào)用該函數(shù)輸出最大值。
參考代碼:
#includestdio.h
#define?n?10
int?fun(int?a[]){//求數(shù)組a的最大值函數(shù)
int?i,max=a[0];
for(i=1;in;i++)
if(maxa[i])?max=a[i];
return?max;
}
int?main()
{
int?a[n],i;
for(i=0;i10;i++)
scanf("%d",a[i]);?
printf("數(shù)組最大值為%d\n",fun(a));
return?0;
}
/*
1?5?9?7?3?8?6?4?2?0
數(shù)組最大值為9
*/
C語言中 輸入5個整數(shù)。求其中的最大數(shù)(函數(shù)實現(xiàn))
C語言中輸入5個整數(shù),求其中的最大數(shù)的函數(shù)實現(xiàn)的一個可能的代碼如下:
#include stdio.h// 定義一個函數(shù),用于返回兩個整數(shù)中較大的一個int max(int a, int b){ if (a b) return a; else
return b;
}int main(){ int i, n, num, max_num; printf("請輸入要輸入的整數(shù)個數(shù):"); scanf("%d", n); // 從標(biāo)準(zhǔn)輸入讀取整數(shù)個數(shù)
printf("請輸入%d個整數(shù):", n); scanf("%d", num); // 從標(biāo)準(zhǔn)輸入讀取第一個整數(shù)
max_num = num; // 將第一個整數(shù)賦值給max_num
for (i = 1; i n; i++) // 循環(huán)n-1次
{ scanf("%d", num); // 從標(biāo)準(zhǔn)輸入讀取下一個整數(shù)
max_num = max(max_num, num); // 調(diào)用max函數(shù),更新max_num的值
} printf("最大的整數(shù)是:%d\n", max_num); // 輸出最大的整數(shù)
return 0;
}
名稱欄目:c語言調(diào)用函數(shù)最大的數(shù) c語言調(diào)用函數(shù)求最高分和最低分
地址分享:http://fisionsoft.com.cn/article/ddjidch.html