본문 바로가기

C

박시현 11주차 C프로그래밍 과제

C프로그래밍

11주차 과제

 

 

 

 

 

과 목 명 : C프로그래밍

담당교수 : 한성현 교수님

학 과 : 컴퓨터소프트웨어학과

학 년 : 1학년

학 번 : 2024001684

이 름 : 박시현

제 출 일 : 2024 5월 14일

---------------------------for 으로 합과 평균 구하기1---------------------------

#include <stdio.h>
int main() {
int n=0,m,c;
printf("몇개까지 입력하시겠습니까?");
scanf("%d",&c);
 
for (int i=0; i<c; i++){
printf("숫자 입력");
scanf("%d",&n);
m=m+n;
}
double a=m/c;
printf("합:%d 평균%.1f",m,a);
return 0;
}

------------------------------------------------------------------------------------------

---------------------------for 으로 합과 평균 구하기2---------------------------

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int i,num,sum=0,total; //누적하는 변수 sum은 반드시 초기화
for(;;){
sum=0;
printf("임의 개수의 수 평균을 구하는 프로그램입니다.\n");
printf("계산하려는 수는 몇 개입니까==");
scanf("%d",&total);
if(total==0){
break;
}
for(i=1;i<=total;i++){
printf("%d번째 수를 입력하세요=",i);
scanf("%d",&num);
sum+=num;
}
printf("합은 %d, 평균은 %.1f입니다.\n",sum, (double)sum/total);
}
return 0;
}

------------------------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------점점 느리게 출력하기---------------------------

#include <stdio.h>
int main(void)
{
int n,m;
for(n=1;n<=1000;n++)
{
printf("%d ",n);
for(m=1;m<=n*10000;m++);
}
return 0;
}

---------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------2중 for문 예시---------------------------

#include <stdio.h>
int main(void)
{
int i,j;
for(i=1;i<=10;i++){
for(j=0;j<i;j++){
printf("%3d",i);
}
printf("\n");
}
return 0;
}

---------------------------------------------------------------------------

출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료

---------------------------구구단 만들기1---------------------------

#include <stdio.h>
int main(void)
{
int d,g;
for(d=2;d<=9;d++){   
for(g=1;g<=9;g++){ 
printf("%dx%d=%2d ",d,g,d*g);
}
printf("\n");
}
return 0;
}

---------------------------------------------------------------------------

---------------------------구구단 만들기2---------------------------

#include <stdio.h>
int main(void)
{
int d,g;
for(g=1;g<=9;g++){
for(d=2;d<=9;d++){
printf("%dx%d=%2d ",d,g,d*g);
}
printf("\n");
}
return 0;
}

---------------------------------------------------------------------------

 

출처:한성현 교수님의 강의자료

---------------------------최대 공약수 구하기---------------------------

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a,b,r;
printf("두 정수를 입력하시오:");
scanf("%d %d",&a, &b);
while(b!=0){ // b가 0이 아닐 때까지
r=a%b;
a=b;
b=r;
printf("r=%d a=%d b=%d\n",r,a, b);
}
printf("최대공약수 : %d\n",a);
return 0;
}

---------------------------------------------------------------------------

출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료

do~while문은 반드시 ;을 써야한다.

---------------------------q가 나올때까지 실행---------------------------

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a,b,r;
printf("두 정수를 입력하시오:");
scanf("%d %d",&a, &b);
while(b!=0){ 
r=a%b;
a=b;
b=r;
printf("r=%d a=%d b=%d\n",r,a, b);
}
printf("최대공약수 : %d\n",a);
return 0;
}

---------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------재수강 여부 확인---------------------------

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int score;
printf("당신의 점수를 입력하고 Enter를 누르세요\n");
do{
printf("점수가 0에서 100사이의 값이 아니면 다시 입력해야 합니다:");
scanf("%d",&score);
}while(!(score>=0 && score<=100));
if(score<60) printf("60점 미만이므로 재수강해야 합니다.\n");
else printf("60점 이상이므로 Pass입니다.\n");
return 0;
}

---------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------원하는 작업 선택---------------------------

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int menu;
do{
printf("1:추가\n");
printf("2:삭제\n");
printf("3:저장\n");
printf("4:수정\n");
printf("원하는 작업을 선택하세요:");
scanf("%d",&menu);
}while(!(menu>=1 && menu<=4));
printf("%d를 선택했습니다.\n",menu);
return 0;
}

---------------------------------------------------------------------------

출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료

C언어에서 무한루프를 만드는 3가지 방법

출처:한성현 교수님의 강의자료

---------------------------5의배수를 더해 1000000000000를 넘게 만들기---------------------------

#include <stdio.h>
int main(void)
{
long long n = 5,sum = 0;
while (1) {
sum += n;
if (sum > 10000000000LL)
break;
n += 5;
}
printf("n=%lld, sum=%lld\n", n, sum);
return 0;
}

------------------------------------------------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------1부터 100까지 홀수 출력---------------------------

#include <stdio.h>
int main(void)
{
int n;
for(n=1;n<=100;n++)
{
if(n%2==0) continue;
printf("%3d ",n);
}
return 0;
}

--------------------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------피타고라스 수 조합 구하기1---------------------------

#include <stdio.h>
int main(void)
{
int i, j, k, num, count = 1;
printf("직각삼각형의 밑변, 높이, 빗변을 X, Y, Z로 할 때,\n");
printf("X² + Y² = Z²을 만족하는 자연수를 피타고라스 수라고 합니다.\n");
printf("자연수 어디까지 피타고라스 수 조합을 얻고 싶습니까==");
scanf("%d", &num);
 
for (i = 1; i <= num; i++) {
for (j = i; j <= num; j++) {
for (k = j; k <= num; k++) {
if (k * k == (i * i + j * j)) {
printf("%3d: %3d %3d %3d\n", count, i, j, k);
count++;
}
}
}
}
return 0;
}

--------------------------------------------------------------------------------------

---------------------------피타고라스 수 조합 구하기2---------------------------

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int i, j, k, num, count = 1;
printf("직각삼각형의 밑변, 높이, 빗변을 X, Y, Z로 할 때,\n");
printf("X²+Y²=Z²을 만족하는 자연수를 피타고라스 수라고 합니다.\n");
printf("몇 개의 피타고라스수 조합을 얻고 싶습니까==");
scanf("%d", &num);
for (i = 1; i <= 1000; i++) {
for (j = 1; j <= 1000; j++) {
for (k = 1; k <= 1000; k++) {
if (k * k == (i * i + j * j)) {
printf("%3d: %3d %3d %3d\n", count, i, j, k);
if (count == num) goto END;
count++;
}
}
}
}
END:
return 0;
}

--------------------------------------------------------------------------------------

출처:한성현 교수님의 강의자료