N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
#include <stdio.h> #include <string.h> int main() { int n=0; scanf("%d",&n); for (int i=1;i<10;i++){ printf("%d * %d = %d\n",n,i,n*i); } }
n을 입력받는다. 이때의 n은 단 역할을 한다. 구구단이 1~9까지 출력되야 하니까 i를 1부터 9까지 돌도록 for문을 돌린다. for문 안에서 printf문을 통해 n단이 i번(1부터 9)까지 돌도록 출력한다.
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
#include <stdio.h> #include <string.h> int main() { int a,b; int t; scanf("%d",&t); for (int i=1;i<=t;i++){ scanf("%d",&a); scanf("%d",&b); printf("%d\n",a+b); } return 0; }
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int n=0; scanf("%d",&n); int num=0; for(int i=1;i<=n;i++){ num=num+i; } printf("%d",num); }
두 정수 a와 b를 입력받는다. for문이 몇번 돌지 정하는 t 변수를 입력받는다.
t변수 값 만큼 for문이 돌면서 a와 b가 입력받아지고 prinf문을 통해 출력받는다.
영수증에 적힌 구매한 각 물건의 가격과 개수, 구매한 물건들의 총 금액
을 보고 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.#include <stdio.h> int main() { int x=0; int n,a,b; int sum=0; scanf("%d",&x); scanf("%d",&n); for (int i=0;i<n;i++){ scanf("%d %d",&a,&b); sum+=a*b; } if (sum==x){ printf("Yes"); } else{ printf("No"); } return 0; }
n바이트 정수까지 저장할 수 있다고 생각하는 정수 자료형의 이름을 출력하여라.
#include <stdio.h> int main() { int n; scanf("%d",&n); n=n/4; for (int i=0;i<n;i++){ printf("long "); } printf("int"); return 0; }
각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.
#include <stdio.h> int main() { int t; int a,b,num=0; scanf("%d",&t); for (int i=0;i<t;i++){ scanf("%d %d",&a,&b); num=a+b; printf("%d\n",num); num=0; } return 0; }
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int t; int a,b,num=0; scanf("%d",&t); for (int i=1;i<=t;i++){ scanf("%d %d",&a,&b); num=a+b; printf("Case #%d: %d\n",i,num); num=0; } return 0; }
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int t; int a,b,num=0; scanf("%d",&t); for (int i=1;i<=t;i++){ scanf("%d %d",&a,&b); num=a+b; printf("Case #%d: %d + %d = %d\n",i,a,b,num); num=0; } return 0; }
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
#include <stdio.h> int main() { int n; scanf("%d",&n); for (int i=1;i<=n;i++){ for (int j=1;j<=i;j++){ printf("*"); } printf("\n"); } return 0; }
몇줄을 출력할지 결정하는 n을 입력받는다. for문에서 i의 값(1~n)까지 돌면서 아래 for문을 돌린다. 안에있는 for문에서는 j의 값(1~i)만큼 돌면서 * 을 출력하는 역할을 한다. 바깥 for문에서는 안에있는 for문을 돌린 후에 줄넘김을 한다.
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.#include <stdio.h> int main() { int n; scanf("%d",&n); for (int i=1;i<=n;i++){ for (int t=1;t<=n-i;t++){ printf(" "); } for (int j=1;j<=i;j++){ printf("*"); } printf("\n"); } return 0; }
몇줄을 출력할지 결정하는 n을 입력받는다. for문에서 i의 값(1~n)까지 돌면서 아래 for문을 돌린다. for문 안 1번째 for문에서는 t의 값(1~n-i)만큼 돌면서 공백을 출력하는 역할을 한다. 2번째 for문에서는 j의 값(1~i)만큼 돌면서 * 을 출력한다. 이때 공백을 먼저 출력해야하므로 공백 for문이 먼저 실행되는 것이다. 바깥 for문에서는 줄넘김 역할을 한다.
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int a,b; while(1){ scanf("%d %d",&a,&b); if(a==0 && b==0){ return 0; } printf("%d\n",a+b); } return 0; }
a와 b을 입력받는다. while문으로 아래 코드를 계속 실행한다. 만약에 a랑 b의 값이 0이면 프로그램을 종료한다. 0이 아닌 경우에는 입력받은 값의 합을 계속해서 출력한다.
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int a, b; while (scanf("%d %d", &a, &b)!=-1) { printf("%d\n",a+b); } return 0; }
a와 b을 입력받는다. while문 안에서 scanf 입력이 잘 되면 읽은 항목 수를 반환한다. 입력이 끝나면 -1을 반환하고 while문을 종료한다.
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int a, b; scanf("%d %d",&a,&b); if (a>b){ printf(">"); } else if(a<b){ printf("<"); } else if(a==b){ printf("=="); } return 0; }
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int score; scanf("%d",&score); if (score>=90 && score<=100){ printf("A"); } else if (score>=80 && score<=89){ printf("B"); } else if (score>=70 && score<=79){ printf("C"); } else if (score>=60 && score<=69){ printf("D"); } else{ printf("F"); } return 0; }
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int year; scanf("%d",&year); if(year%4==0 && year%100!=0){ printf("1"); } else if(year%400==0){ printf("1"); } else{ printf("0"); } return 0; }
점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.
#include <stdio.h> int main() { int x,y; scanf("%d\n %d",&x,&y); if (x>0 && y>0){ printf("1"); } else if (x<0 && y>0){ printf("2"); } else if (x<0 && y<0){ printf("3"); } else if (x>0 && y<0){ printf("4"); } return 0; }
설정한 알람 시각이 주어졌을 때, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int h,m; scanf("%d %d",&h,&m); m=m-45; if (m<0){ h-=1; m+=60; } if (h < 0){ h=23; } printf("%d %d",h,m); return 0; }
훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int h,m; int mm; scanf("%d %d",&h,&m); scanf("%d",&mm); m+=mm; if(m>=60){ h+=m/60; m=m%60; } if (h>=24){ h=h%24; } printf("%d %d",h,m); return 0; }
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
#include <stdio.h> int main() { int a,b,c; scanf("%d %d %d",&a,&b,&c); if (a==b && b==c) printf("%d",10000+a*1000); else if (a==b) printf("%d",1000+a*100); else if(b==c) printf("%d",1000+b*100); else if(c==a) printf("%d",1000+c*100); else{ if(a>b&&a>c) printf("%d",a*100); else if(b>c&&b>a) printf("%d",b*100); else printf("%d",c*100); } return 0; }
단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { char s[1001]; int i; scanf("%s\n",s); scanf("%d",&i); printf("%c",s[i-1]); return 0; }
문자열을 입력받는다.여기서 i번째도 입력받는다. printf문을 통해서 0번부터 시작되는 s문자열을 -1해줘서 찾고자 하는 값을 출력할 수 있다.
알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오.
#include <stdio.h> #include <string.h> int main() { char num[101]; scanf("%s\n",num); printf("%lu",strlen(num)); return 0; }
문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.
#include <stdio.h> #include <string.h> int main() { int t; char s[1000]; scanf("%d",&t); for (int i=0; i<t;i++){ scanf("%s",s); int len = strlen(s); printf("%c%c\n", s[0], s[len-1]); } return 0; }
알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.
#include <stdio.h> #include <string.h> int main() { char aske; scanf("%c",&aske); printf("%d",aske); return 0; }
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int n, sum = 0; char num[101]; scanf("%d", &n); scanf("%s", num); for (int i = 0; i < n; i++) { sum += num[i] -'0'; } printf("%d\n", sum); return 0; }
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
#include <stdio.h> #include <string.h> int main() { char sum[101]; int alphab[26]; for (int i = 0; i < 26; i++) { alphab[i] = -1; } scanf("%s", sum); for (int i = 0; i < strlen(sum); i++) { int index = sum[i] -'a'; if (alphab[index] == -1) { alphab[index] = i; } } for (int i = 0; i< 26; i++) { printf("%d ", alphab[i]); } return 0; }
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오.
#include <stdio.h> #include <string.h> int main() { char s[101]; int t,r; scanf("%d",&t); for (int i=0;i<t;i++){ scanf("%d %s",&r,&s); for(int j=0;j<strlen(s);j++){ for (int a=0;a<r;a++){ printf("%c",s[j]); } } printf("\n"); } return 0; }
테스트케이스 (몇번 실행 할 건지) 를 입력받고 for문에서 실행한다. 여기서 몇번 반복할지 정하는 r값과 문자열 s를 입력받는다. for문에서 입력받은 문자열(s)의 자리수만큼 돌아간다. 안쪽 for문에서는 몇번 반복 할 건지 정하는 r값만큼 돌리면서 문자열을 출력한다.
영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
#include <stdio.h> #include <string.h> int main() { int count; char word[1000001]; scanf("%[^\n]", word); if (word[0]==' '){ count--; } if(word[strlen(word)-1]==' '){ count--; } for(int i=0;i<strlen(word);i++){ if(word[i]==' '){ count++; } } printf("%d",count+1); return 0; }
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
#include <stdio.h> int reverse(int num) { int back = 0; while (num > 0) { back = back * 10 + num % 10; num /= 10; } return back; } int main() { int a, b; scanf("%d %d", &a, &b); int backa = reverse(a); int backb = reverse(b); if (backa > backb) printf("%d\n", backa); else printf("%d\n", backb); return 0; }
다이얼을 걸기 위해서 필요한 최소 시간을 출력한다.
#include <stdio.h> #include <string.h> int main() { char num[16]; int time = 0; scanf("%s", num); for (int i = 0; i < strlen(num); i++) { if (num[i] >= 'A' && num[i] <= 'C') time += 3; else if (num[i] >= 'D' && num[i] <= 'F') time += 4; else if (num[i] >='G' && num[i] <='I') time += 5; else if (num[i] >='J' && num[i] <='L') time += 6; else if (num[i] >='M' && num[i] <='O') time += 7; else if (num[i] >='P' && num[i] <='S') time += 8; else if (num[i] >='T' && num[i] <='V') time += 9; else if (num[i] >='W' && num[i] <='Z') time += 10; } printf("%d",time); return 0; }
num문자열을 입력받는다. 여기서 몇글자 입력받았는지에 따라 for문을 돌린다. for문 안에서는 i부터 문자열 만큼 돌아가면서 문자가 무엇인지에 따라 더해주는 if else문을 돌려 time에 계속해서 더해준다. 마지막에는 printf문을 통해 다 더해진 time값을 출력한다.
입력 받은 대로 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { char re; while(scanf("%c", &re) != -1) { printf("%c",re); } return 0; }
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제
#include <stdio.h> int main() { int n; scanf("%d", &n); for (int i = n; i >= 1; i--) { for (int j = 1;j<=i;j++) { printf("*"); } printf("\n"); } return 0; }
n을 입력받아 몇줄을 출력받을지 정한다. 바깥for문(n~1)을 통해 n이 1이 될 때 까지 돌아간다. 안쪽 for문(1~i)은 별을 출력하는 역할을 한다. 여기서 별을 다 출력하고 개행해야하기 때문에 줄넘김은 안쪽 for문이 다 돌아간 다음에 실행된다.
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
#include <stdio.h> int main() { int n; scanf("%d", &n); for (int i = n; i >= 1; i--) { for(int k=0;k<n-i;k++){ printf(" "); } for (int j = 1;j<=i;j++) { printf("*"); } printf("\n"); } return 0; }
n을 입력받아 몇줄을 출력받을지 정한다. 바깥for문(n~1)을 통해 n이 1이 될 때 까지 돌아간다. 안쪽 첫번째 for문(0~n-1)은 공백을 출력하는 역할을 한다 여기서 0부터 시작하는 이유는 첫번째는 공백이 출력되면 안돼기 때문이다. 또 공백을 먼저 출력해야하므로 공백 for문이 더 먼저 있는 것이다. 안쪽 for문(1~i)은 별을 출력하는 역할을 한다. 여기서 별을 다 출력하고 개행해야하기 때문에 줄넘김은 안쪽 for문이 다 돌아간 다음에 실행된다.
시간을 기준으로 30분전의 시간을 출력하시오.
#include <stdio.h> int main() { int h, m; scanf("%d %d", &h, &m); m -= 30; if (m<0) { m += 60; h -= 1; } if (h < 0) { h = 23; } printf("%d %d",h,m); return 0; }
10의 자릿수와 1의 자릿수를 서로 바꾸고, 거기에 2를 곱한다.
#include <stdio.h> int main() { int n; scanf("%d", &n); int fir = n / 10; int last = n % 10; int swapp = fir * 10 + last; int result = swapp* 2; if (result >= 100) { printf("0\n"); } else { printf("%d\n", result); } return 0; }
어떤 수(n)가 입력되면 두 소수의 곱으로 나타낼 수 있으면 두 소수를 오름차순으로 출력하고, 그렇지 않으면 "wrong number"를 출력하는 프로그램을 작성하시오.
#include <stdio.h> int main() { int a,b; scanf(“%d”, &a); for (int i = 2; i < a; i++) { if (a % i == 0) { b = 0; for (int j = 2; j < i; j++) { if(i%j ==0) { b = 1; break; } } if (b == 0) { printf(“%d %d”,i,(a/i)); return 0; } } } printf(“wrong number”); return 0; }