do~while문은 while과는 약간 다르다.
do
{
do
{
실행될 함수
}
while(조건문)
이렇게 입력한다. 그러면 while에 있는 조건을 비교해서 true가 될 때까지 실행시킨다.
실행되는 순서는 do, 실행될 함수, 조건문 순이다.
여기서 중요한 것은 do를 맨 처음 실행한다는 것이다.
아래는 do while에 대한 문제다.
입력받은 수의 각 자리를 구해서 합하는 함수를 만들어본다.
[예제]
* 문제 내용 : 입력된 수의 각 자릿수의 합을 구하자.
* 학습 내용 : do~while 조건문 사용법을 익힌다.
* 힌트 내용 : do~while은 적어도 한 번은 실행된다.
각 자리는 n%10을 하며 된다. n%10은 n을 10으로 나눈 나머지를 구하는것이다. 12345를 입력 받아서 12345%10을 하면 1234가 되고 값은 5가 된다. 5를 return하는 것이다. 이것으로 각 자리를 구하고 난 후, 10을 나누어서 다음 자릿수를 다시 구하면 된다.
지금 pastebin 웹사이트가 고장난 관계로 컬러입히는 건 다음에 해야겠다. 이것도 까먹으면 그냥 그런거다.. ㅋ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
while(조건문)
이렇게 입력한다. 그러면 while에 있는 조건을 비교해서 true가 될 때까지 실행시킨다.
실행되는 순서는 do, 실행될 함수, 조건문 순이다.
여기서 중요한 것은 do를 맨 처음 실행한다는 것이다.
아래는 do while에 대한 문제다.
입력받은 수의 각 자리를 구해서 합하는 함수를 만들어본다.
[예제]
* 문제 내용 : 입력된 수의 각 자릿수의 합을 구하자.
* 학습 내용 : do~while 조건문 사용법을 익힌다.
* 힌트 내용 : do~while은 적어도 한 번은 실행된다.
각 자리는 n%10을 하며 된다. n%10은 n을 10으로 나눈 나머지를 구하는것이다. 12345를 입력 받아서 12345%10을 하면 1234가 되고 값은 5가 된다. 5를 return하는 것이다. 이것으로 각 자리를 구하고 난 후, 10을 나누어서 다음 자릿수를 다시 구하면 된다.
지금 pastebin 웹사이트가 고장난 관계로 컬러입히는 건 다음에 해야겠다. 이것도 까먹으면 그냥 그런거다.. ㅋ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Com.JumBo.Logic;
/*
* 문제 내용 : 입력된 수의 각 자릿수의 합을 구하자.
* 학습 내용 : do~while 조건문 사용법을 익힌다.
* 힌트 내용 : do~while은 적어도 한 번은 실행된다.
* */
* 문제 내용 : 입력된 수의 각 자릿수의 합을 구하자.
* 학습 내용 : do~while 조건문 사용법을 익힌다.
* 힌트 내용 : do~while은 적어도 한 번은 실행된다.
* */
namespace Console_Test
{
public class Program
{
static void Main(string[] args)
{
Console.WriteLine("do~while을 이용하여 입력된 수의 1의자리만 구한다.");
Console.Write("정수를 입력하세요:");
int num = int.Parse(Console.ReadLine());
Calc.Print(num);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
{
public class Program
{
static void Main(string[] args)
{
Console.WriteLine("do~while을 이용하여 입력된 수의 1의자리만 구한다.");
Console.Write("정수를 입력하세요:");
int num = int.Parse(Console.ReadLine());
Calc.Print(num);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Com.JumBo.Logic
{
public class Calc
{
public static int Oper(int n)
{
int total = 0;
do
{
total += n % 10;
n /= 10;
}
while (n != 0);
return total;
}
public static void Print(int n)
{
Console.WriteLine("{0}의 각 자리수 합은 {1}입니다.", n, Oper(n));
}
}
}
이 문제의 출처는 c#프로그래밍 기본기 익히기, 정보문화사, 25000, 조효은지음,
{
public class Calc
{
public static int Oper(int n)
{
int total = 0;
do
{
total += n % 10;
n /= 10;
}
while (n != 0);
return total;
}
public static void Print(int n)
{
Console.WriteLine("{0}의 각 자리수 합은 {1}입니다.", n, Oper(n));
}
}
}
이 문제의 출처는 c#프로그래밍 기본기 익히기, 정보문화사, 25000, 조효은지음,
'Language > C#' 카테고리의 다른 글
c# Boxing, UnBoxing (0) | 2011.12.30 |
---|---|
c# 배열의 개념이 들어간 버블정렬 (0) | 2011.12.24 |
c# while문의 사용 (0) | 2011.12.24 |
c# switch case 문 (0) | 2011.12.20 |
c# 친화수 구하기 (0) | 2011.12.12 |