리자

중급 테스트 2

$str = "74, 54, 88, 69, 46, 2, 20, 82, 36, 79, 12, 7, 81, 39, 42, 93, 18, 55, 35, 8, 85, 25, 66, 84, 23, 73, 83, 67, 52, 78, 1, 24, 71, 96, 75, 86, 17, 72, 38, 19, 27, 53, 47, 41, 92, 63, 61, 95, 89, 51";
 
위와 같은 값이 있습니다.
 
함수의 사용 없이 , 로 구분된 숫자의 합을 구하세요.
 
74 + 54 + 88 + ... + 51 = ?
|

댓글 14개

$i = 0;
$num = '';
$sum = 0;
$plus = '';

while(1){

if ($str[$i] == null) break;

if ($str[$i] == ',' || $str[$i] == ' ') {

if ($num != '') {

$sum += (int)$num;
echo $plus . $num;

if ($plus == '') $plus = ' + ';
}

$num = '';
}
else {

$num .= $str[$i];
}

$i++;
}

echo ' = ' . $sum;
글쓸때 옵션이 있으면 좋겟네요.

일정시간 설정가능하게 하고 그 이후 코멘트 공개.
아니면 글쓴 사람의 수정에 의해서 코멘트 공개

다른 사람의 답이 먼저 보이면 의욕이 좀 떨어지는듯 합니다.
array() 함수도 안되나요?
함수는 다 안된다네요.
$str문장이 저 상태에서 바로 배열 형태가 되나요? ㅡㅡ? 제가 안해봐서. ^^
그냥 문자열이죠.
PHP 에서는 배열도 됩니다.
$str[0] ... $str[n]
PHP에서 \0문자 안먹히나봐요?
함수에 넘 익숙해졌나봐요.
기초공부 다시 해야겠습니다. ^^
오늘 즐벙하십시오. 다래끼 조심하시고... ㅋㅋ
옛날에 시골에선 다래끼나 두드러기 나면 부뚜막에 발가벗겨 세워놓고 화로에 짚 태워가며 재를 날리면서 무슨무슨 잡귀 물러가라고 했었죠. ㅎㅎ
$str = "74, 54, 88, 69, 46, 2, 20, 82, 36, 79, 12, 7, 81, 39, 42, 93, 18, 55, 35, 8, 85, 25, 66, 84, 23, 73, 83, 67, 52, 78, 1, 24, 71, 96, 75, 86, 17, 72, 38, 19, 27, 53, 47, 41, 92, 63, 61, 95, 89, 51";

$tot = 0;
$sw = 1;
$i = 0;
$num = "";
while($sw) {
if(($str[$i] == ",") || ($str[$i] == null)) {
echo $tot . " + " . $num . " = ";
$num = ($num * 100) / 100; //-- 문자형으로 조합된 숫자 앞에 붙게되는 공백문자를 제거 할 때. 생략 무관
$tot += $num;
$num = "";
echo $tot . "<br>";
if($str[$i] == null) $sw = 0;
}else
$num .= $str[$i];

$i++;
}
echo "합 = " . $tot;
$str = "74, 54, 88, 69, 46, 2, 20, 82, 36, 79, 12, 7, 81, 39, 42, 93, 18, 55, 35, 8, 85, 25, 66, 84, 23, 73, 83, 67, 52, 78, 1, 24, 71, 96, 75, 86, 17, 72, 38, 19, 27, 53, 47, 41, 92, 63, 61, 95, 89, 51";

$t = 0;
$n = "";
for($i = 0; $str[$i] != null; $i++) {
if($str[$i] == ",") {
$t += $n;
$n = "";
}else{
$n .= $str[$i];
}
}
echo $t;
$str = "74, 54, 88, 69, 46, 2, 20, 82, 36, 79, 12, 7, 81, 39, 42, 93, 18, 55, 35, 8, 85, 25, 66, 84, 23, 73, 83, 67, 52, 78, 1, 24, 71, 96, 75, 86, 17, 72, 38, 19, 27, 53, 47, 41, 92, 63, 61, 95, 89, 51";

$cnt = 0;
for($cnt=0; $str[$cnt] != null; $cnt++){
if($str[$cnt] == ","){
$sum += $n;
unset($n);
}else if($str[$cnt] != " "){
$n .= $str[$cnt];
}
}
echo $sum;
은근 유익하다는..
눈팅만 하다가.......
근 한달이나 늦었지만...유창화님, 바보천사님의 두번째 프로그램, 밀로즈님 모두 마지막 51은 더하지 않습니다.
바보천사님의 첫번째 프로그램은 마지막 51을 더해서 정상적으로 나옵니다.
51 다음에 ','나 공백이 없기 때문에 더하는 루틴을 거치지 않습니다.

for 문 끝나고 남아있는 게 숫자이면 마지막 숫자를 더하거나 for문 돌리기 전에 끝이라는 임의의 표시를 하고 돌려야 될 것 같습니다....

걍....간만에 시간이 남아서....오지랖이면..ㅈㅅ
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 1,412
14년 전 조회 1,867
14년 전 조회 1,369
14년 전 조회 1,864
14년 전 조회 2,119
14년 전 조회 1,640
14년 전 조회 1,420
14년 전 조회 1,654
14년 전 조회 1,545
14년 전 조회 2,575
14년 전 조회 1,746
14년 전 조회 1,453
14년 전 조회 1,378
14년 전 조회 1,971
14년 전 조회 3,240
14년 전 조회 1,378
14년 전 조회 3,180
14년 전 조회 2,341
14년 전 조회 1,529
14년 전 조회 1,733
14년 전 조회 1,662
14년 전 조회 1,638
14년 전 조회 1,156
14년 전 조회 1,338
14년 전 조회 1,461
14년 전 조회 1,813
14년 전 조회 1,503
14년 전 조회 1,882
14년 전 조회 1,648
14년 전 조회 1,799
14년 전 조회 1,409
14년 전 조회 1,673
14년 전 조회 1,602
14년 전 조회 1,465
14년 전 조회 1,344
14년 전 조회 1,777
14년 전 조회 2,198
14년 전 조회 1,597
14년 전 조회 1,411
14년 전 조회 3,951
14년 전 조회 1,490
14년 전 조회 1,366
14년 전 조회 2,713
14년 전 조회 2,151
14년 전 조회 2,652
14년 전 조회 1,230
14년 전 조회 1,466
14년 전 조회 1,283
14년 전 조회 1,163
14년 전 조회 1,241
14년 전 조회 1,349
14년 전 조회 2,131
14년 전 조회 1,464
14년 전 조회 1,538
14년 전 조회 1,157
14년 전 조회 1,658
14년 전 조회 2,266
14년 전 조회 1,660
14년 전 조회 1,956
14년 전 조회 1,455
14년 전 조회 1,597
14년 전 조회 1,383
14년 전 조회 1,709
14년 전 조회 1,585
14년 전 조회 1,027
14년 전 조회 1,205
14년 전 조회 1,195
14년 전 조회 1,542
14년 전 조회 1,371
14년 전 조회 1,416
14년 전 조회 1,347
14년 전 조회 1,751
14년 전 조회 1,453
14년 전 조회 1,469
14년 전 조회 1,486
14년 전 조회 1,272
14년 전 조회 2,340
14년 전 조회 2,108
14년 전 조회 1,541
14년 전 조회 1,373
14년 전 조회 2,440
14년 전 조회 1,800
14년 전 조회 1,637
14년 전 조회 1,371
14년 전 조회 2,090
14년 전 조회 4,361
14년 전 조회 3,007
14년 전 조회 1,732
14년 전 조회 1,327
14년 전 조회 1,387
14년 전 조회 1,907
14년 전 조회 1,585
14년 전 조회 1,904
14년 전 조회 2,005
14년 전 조회 2,024
14년 전 조회 1,201
14년 전 조회 1,437
14년 전 조회 3,318
14년 전 조회 1,346
14년 전 조회 1,833