반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-19 00:03
관리 메뉴

ImJay

PHP 프로그래밍 입문 제 5장 예제 풀이 본문

대학생활/웹프로그래밍

PHP 프로그래밍 입문 제 5장 예제 풀이

ImJay 2022. 4. 17. 21:34
반응형

PHP 프로그래밍 입문 제 5장 예제 풀이


예제 5-1. 배열을 이용하여 성적의 합계와 평균 구하기

<?php
	//배열이용 합계, 평균구하기, 배열의 원소는 0부터 시작한다.

   	$score[0] = 90;     // 영어
   	$score[1] = 80;     // 컴퓨터 개론
   	$score[2] = 85;     // 프로그래밍 기초
   	$score[3] = 95;     // 기초수학
   	$score[4] = 93;    // 알고리즘

   	$sum = 0;
   	for($a=0; $a<=4; $a++)
   	{
       	    $sum = $sum + $score[$a];
   	}
   
   	$avg = $sum/5;

   	echo("과목 점수 : $score[0], $score[1], $score[2], $score[3], $score[4]<br>");   
   	echo("합계 : $sum, 평균 : $avg <br>");
?>

예제 5-1 결과화면

예제 5-2. array() 함수를 이용하여 성적의 합계와 평균 구하기

<?php
    $scores = array(87, 76, 98, 87, 87, 93, 79, 85, 88, 63,
                       74, 84, 93, 89, 63, 99, 81, 70, 80, 95);
 
    $sum = 0;
    for($a = 0; $a < 20; $a++)
    {
        $sum = $sum + $scores[$a];  // 20명의 학생의 성적의 누적 합
    }
    
    $avg = $sum/20;				// 평균 구하기
                                // 줄 바꿈
    echo("합계 : $sum, 평균 : $avg");
?>

예제 5-2 결과화면

예제 5-3. 배열을 이용하여 구구단 표 만들기

<?php
   	for($i = 0; $i < 8; $i++)
   	{
		    $a[$i] = $i + 2;
 		   echo $a[$i]." ";
 	  }
    echo "<br>";

   	for($j = 0; $j < 9; $j++)
   	{
		    $b[$j] = $j + 1;
        echo $b[$j]." ";
 	  }
    echo "<br>---------------<br>";
        
   	for($i = 0; $i < 9; $i++)
   	{
        $c = $a[0] * $b[$i]; 				// $a[0] : 2단 구구단
   			echo "$a[0] x $b[$i] = $c<br>";
   	}
   	echo "---------------<br>";

   	for($i = 0; $i < 9; $i++)
   	{
   		$c = $a[4] * $b[$i]; 				  // $a[4]는 6단 구구단
		  echo "$a[4] x $b[$i] = $c<br>";
   	}
   	echo "---------------<br>";
?>

예제 5-3 결과화면

예제 5-4. 오름차순으로 버블 정렬하기

?php
	$num = array(15, 13, 9, 7, 6, 12, 19, 30, 28, 26);  	// 10개의 숫자를 배열에 입력

	$count = 10;				// 배열 원소의 개수로 10을 $count에 입력

	echo "정렬 전 : ";		   	
	for ($a=0; $a<10; $a++)			// 정렬되기 전 배열 원소 출력
	    echo $num[$a]." ";

        echo "<br>";
 
    for($i=$count-2; $i>=0; $i--)		// $i는 8부터 0까지 1씩 감소
  	{
	    for($j=0; $j<=$i; $j++)		// $j는 0부터 $i까지 1씩 증가
	    {
			if($num[$j] > $num[$j+1])	// 인접한 두 개의 데이터의 크기를 비교하여 크면
			{
		    	$tmp = $num[$j]; 	        // 앞의 데이터를 $tmp에 잠시 대피
		    	$num[$j] = $num[$j+1];	// 뒤의 데이터를 앞의 배열 원소에 저장
		    	$num[$j+1] = $tmp;		// $tmp를 뒤의 배열 원소에 저장
	   		}
	    }
    }

	echo "버블 정렬(오름차순) 후 : ";		
	for ($a=0; $a<10; $a++)			// 버블 정렬 후 배열 원소 출력
	    echo $num[$a]." ";
?>

예제 5-4 결과화면

예제 5-5. 2차원 배열을 이용하여 성적의 합계와 평균 구하기

<?php
   	// 2차원 배열을 이용한 3명의 학생에 대한 5과목 합계와 평균    
 	$score = array( array(88, 98, 96, 77, 63), 
           array(86, 77, 66, 86, 93),
    		   array(74, 83, 95, 86, 97) );
   
  // 입력된 성적과 배열 인덱스 출력

	for ($i=0; $i<3; $i++)
	{
	    for ($j=0; $j<5; $j++)
	    	echo "\$score[$i][$j] = ".$score[$i][$j]."<br>";

	    echo "<br>";
	}

  // 3명에 대한 과목의 합계와 평균
  for($i=0; $i<3; $i++)
  {
      $sum=0;
                
      for($j=0; $j<5; $j++)
	        $sum = $sum + $score[$i][$j];      
         
      $avg = $sum/5;
      $student_num = $i + 1;
      echo("$student_num 번째 학생의 점수 => 합계 : $sum,  
            평균 : $avg <br>");
  }
?>

예제 5-5 결과화면

궁금한 점은 댓글 부탁드립니다.

반응형
Comments