1、アルゴリズムの健康警告
1つの#include <stdio.hの> 2 INT メイン() 3 { 4 int型の最大値(int型のx、int型のY)。 5 INT [ 10 ]、M、N、I。 6 のprintf(" 10個の数字を入力してください" )。 7 用(i = 0 ; iは< 10 ; iは++ ) 8 のscanf(" %dの"、および[I])。 9 のprintf(" の\ n " ); 10 のための(I = 0、M = [ 0 ]、N = 0 ; iは< 10 ; I ++ ) 11 { 12 であれば(MAX(M、[I])> M) 13 {M = MAX(M、[I])。 14 N = I。 15 } 16 } 17 のprintf(" 最大数は%D \のn%DTH番号\ nは"、M、N + 1 )。 18 } 19 のint MAX(INT X、int型のY) 20 { 21 リターン(X> Y?X:Y)。 22 }
図2に示すように、関数のパラメータの一次元配列を平均しました
1つの#include <stdio.hの> 2 INT メイン() 3 { 4 フロート平均(フロートアレイ[ 10 ])。 5 フロートスコア[ 10 ]、AVER。 6 int型私は、 7 のprintf(" 入力10のスコア:\ n " ); 8 用(i = 0 ; iは< 10 ; iは++ ) 9 のscanf(" %のF "、&スコア[I])。 10 のprintf(" \ nを"); 11 AVER = 平均(スコア)。 12 のprintf(" 平均%5.2Fを\ nである" 、断言)。 13 リターン 0 。 14 } 15 フロート平均(フロートアレイ[ 10 ]) 16 { 17 のint iが、 18 フロート AVER、和=配列[ 0 ]。 19 のために(i = 1 ; iは< 10 ; iは++ ) 20 合計=合計+ 配列[i]は、 21 AVER =和/ 10; 22 リターン(有します)。 23 }
3、選択的秩序によって
する#include <stdio.hの> int型のmain() { ボイドソート(INT配列[]、int型N); INT [ 10 ]、I。 printf(" ARRYを入力してください:\ nを" ); 用(i = 0 ; iは< 10 ; iは++ ) のscanf(" %dの"、および[I])。 ソート(10 )。 printf(" ソートARRYます:\ n " ); 用(i = 0 ; iは< 10 ; iは++ ) のprintf(" %のD " 、[I])。 printf(" \ nを" ); リターン 0 ; } ボイドソート(INT ARRY []、int型N) { int型I、J、K、T。 用(i = 0 ; iはN- < 1 ; I ++ ) {K = I。 用(J = I + 1、J <N; J ++ ) 場合(ARRY [J] < ARRY [K]) K = J。 T = ARRY [K]、[K] = ARRYをARRY [I]; ARRY [I] = Tと、 } }
パラメータが省略された場合、図4に示すように、二次元アレイのサイズに第一、第二には、省略することができません
1つの#include <stdio.hの> 2 INT メイン() 3 { 4 int型の最大値(int型の配列[] [ 4 ])。 5 INT [ 3 ] [ 4 ] = {{ 1、3、5、7 }、{ 2、4、6、8 }、{ 15、17、34、12 }}。 6 のprintf(" 最大値は%Dを\ nである" 、MAX(a)参照)。 7 リターン 0 ; 8 } 9 int型の最大値(INT ARRY [] [ 4 ]) 10 { 11 INT I、J、最大= ARRY [ 0 ] [ 0 ]。 12 のために(i = 0 ; iは< 3 ; I ++ ) 13 のための(j = 0 ; J < 4 ; J ++ ) 14 であれば(ARRY [I] [J]> MAX) 15 最大= ARRY [I] [J]。 16 リターン最大。 17 }
最低スコアと最高のスコアを求めている5、グローバル変数*
する#include <stdio.hの> フロート最大= 0、最小= 0 。 INT メイン() { フロート平均(フロート配列[]、int型N); フロート AVE、スコア[ 10 ]。 int型私は、 printf(" 10点の得点を入力してください:" ); 用(i = 0 ; iは< 10 ; iは++ ) のscanf(" %のF "、&スコア[I])。 AVE =平均(スコア、10 )。 printf("最大=%6.2f \ NMIN =%6.2f \ naverage =%6.2f \ n " 、MAX、MIN、AVE); 戻り 0 ; } フロート平均(フロート配列[]、int型n)は { int型Iと、 フロート AVER、和=配列[ 0 ]; 最大 =最小=配列[ 0 ]; のため(i = 1 ; iは<N; iは++ ) { もし(配列[I]> 最大) 最大 = 配列[i]は、 そう であれば(配列[ I <最小)最小= 配列[i]は、 和 =和+ 配列[i]は、 } AVER = I / II。 リターン(H.); }