" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 7장 Programming

7장 Programming


1.

(a)

#include <stdio.h> //while 


int main()

{

int i=1, sum=0;

while(i<=100)

{

if(i%3==0)

sum = sum + i;

i++;

}

printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다.", sum);

return 0;

}


(b)

#include <stdio.h> // for


int main()

{

int i, sum=0;

for(i=1; i<=100; i++)

{

if(i%3==0)

sum = sum + i;

}

printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다.", sum);

return 0;

}


(c)

#include <stdio.h> // do..while

int main()

{

int i=1, sum=0;

do

{

if(i%3==0)

sum = sum + i;

i++;

} while(i<=100);

printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다.", sum);

return 0;

}


2.

#include <stdio.h>


int main()

{

int x, sum;

while ( scanf("%d", &x) !=EOF)

{

sum = sum + x;

}

printf("정수의 합은 %d입니다.", sum);

return 0;

}


3.

#include <stdio.h>


int main()

{

int x, y, z;

for (x=1; x<8; x++)

{

for (y=0; y<8-x; y++)

printf(" ");

for (z=0; z<x; z++)

printf("*");

printf("\n");

}

return 0;

}


4.

#include <stdio.h>


int main()

{

int x,y,z;

printf("정수를 입력하시오: ");

scanf("%d", &x);

for(y=1; y<=x; y++)

{

for (z=1; z<=y; z++)

printf("%d", z);

printf("\n");

}

return 0; 

}


5.

#include <stdio.h>


int main()

{

int x, y;

printf("카운터의 초기값을 입력하시오 :");

scanf("%d", &x);

for (y=x; y>=1; y--)

printf("%2d", y);

printf("(경고 벨소리)%c", '\a'); 

}


6.

#include <stdio.h>


int main()

{

int x, y, z;

char c;

printf("**************\n");

printf("A---- Add\n");

printf("S---- Subtract\n");

printf("M---- Multiply\n");

printf("D---- Divide\n");

printf("Q---- Quit\n");

printf("**************\n");

do

{

printf("연산을 선택하시오 : ");

scanf("%c", &c);

if(c=='Q')

break;

printf("두수를 공백으로 분리하여 입력하시오: ");

scanf("%d %d", &x, &y);

fflush(stdin);

switch(c)

{

case 'A': 

z=x+y;

printf("연산의 결과는 %d입니다\n", z); break;

case 'S':

z=x-y;

printf("연산의 결과는 %d입니다\n", z); break;

case 'M':

z=x*y;

printf("연산의 결과는 %d입니다\n", z); break;

case 'D':

z=x/y;

printf("연산의 결과는 %d입니다\n", z); break;

}

} while(1);

return 0;


7.

#include <stdio.h>


int main()

{

int x, y;

for(x=2; x<100; x++)

{

for (y=2; x>y; y++)

{

if(x%y == 0)

break;

}

if (x==y)

{

printf("%d ", x);

}

}

return 0;

}

<참고 : is_prime 함수이용한 소수판별기>

#include <stdio.h>


int is_prime(int);

int get_integer(void);


main()

{

int n, result;

n = get_integer();

result = is_prime(n);

if (result == 1)

printf("%d은 소수입니다.\n", n);

else

printf("%d은 소수가 아닙니다.\n", n);

return 0;

}


int get_integer(void)

{

int n;

printf("정수를 입력하시오: ");

scanf("%d", &n);

return n;

}


int is_prime(int n)

{

int divisors = 0, i;

for (i=1; i<=n; i++)

{

if (n%i == 0)

divisors++;

}

return (divisors == 2);

}

 

8.

#include <stdio.h>

int main()
{
 int x,y;
 
 while(1)
 {
  printf("막대의 높이 (종료: -1): ");
  scanf("%d", &x);
  
  if(x==-1)
   break;
  for(y=1; y<=x; y++)
  { 
   printf("*");
  }
  printf("\n");
 }  
 return 0;
}

9.

#include <stdio.h> //선if 후계산

int main()
{
 int x, sum=0;
 
 for(x=1; ; x++)
 {
  if(sum>10000)
   break; 
  else
   sum = sum + x;
 }
 printf("1부터 %d까지의 합은 %d입니다.", x-1-1, sum-(x-1));
}

또는

#include <stdio.h> // 선계산 후if, 가장 나은 방법

int main()
{
 int x, sum=0;
 
 for(x=1; ; x++)
 {
  sum = sum + x;
  
  if(sum>10000)
   break; 
 }
 printf("1부터 %d까지의 합은 %d입니다.", x-1, sum-x);
}

또는

#include <stdio.h>

int main()
{
 int x=0, sum=0;
 
 while(1)
 {
  sum = sum + x;
  
  if(sum>10000)
   break; 
   x++;
 }
 printf("1부터 %d까지의 합은 %d입니다.", x-1, sum-x);
}

 

10.

#include <stdio.h>

int main()
{
 int r, n, i, result=1;
 
 printf("실수의 값을 입력하시오: ");
 scanf("%d", &r);
 printf("거듭제곱횟수를 입력하시오: ");
 scanf("%d", &n);
 
 for(i=1; i<=n; i++)
  result = result *r;
 
 printf("결과값은 %d", result);
}

 

11.

#include <stdio.h>

int main()
{
 int i, n, result=0;
 
 printf("n의 값을 입력하시오: ");
 scanf("%d", &n);
 
 for (i=1; i<=n; i++)
  result = result + i*i;
  
 printf("계산값은 %d입니다.", result);
}

 

12.

#include <stdio.h> // a 출력방법

int main()
{
 int a=0, b=1, c, i, n;
 
 printf("몇 번째 항까지 구할까요? ");
 scanf("%d", &n);
 
 for(i=0; i<=n; i++)
 {
  printf("%d ", a);
  c=a+b;
  a=b;
  b=c;
 }
}

또는

#include <stdio.h> // c 출력방법

int main()
{
 int a=0, b=1, c, i, n;
 
 printf("몇 번째 항까지 구할까요? ");
 scanf("%d", &n);
 
 printf("%d %d ", a, b);
 for(i=1; i<n; i++)
 {
  c=a+b;
  printf("%d ", c);
  a=b;
  b=c;
 }
}

 

13.

#include <stdio.h>

int main()
{
 int n, r, i, result=1;
 
 printf("n의 값: ");
 scanf("%d", &n);
 printf("r의 값: ");
 scanf("%d", &r);
 
 for(i=n; i>=n-r-1; i--)
  result = result*i;
  
 printf("순열의 값은 %d입니다.", result);
}

 

14.

 #include <stdio.h>


int main()

{

int i=1, n, x;

printf("정수를 입력하시오: ");

scanf("%d", &n);

do

{

x = n/i%10;

printf("%d", x);

i = i*10;

} while(i<n);

return 0;

}

블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,