정보처리산업기사(정처산기) 실기 Java 기출문제 모음
정보처리산업기사(정처산기) 실기 Python 기출문제 모음
20년 1회
14번 출력 결과
#include <stdio.h>
main() {
int c=1;
switch(3){
case 1:c+=3;
case 2:c++;
case 3:c=0;
case 4:c+=3;
case 5:c-=10;
default : c--;
}
printf("%d",c);
}
-8
20년 1회
20번 출력 결과8
#include <stdio.h>
void align(int a[]){
int temp;
for(int i=0;i<4;i++)
for(int j=0;j<4-i;j++)
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
main() {
int a[]={85, 75, 50, 100, 95};
align(a);
for(int i=0;i<5;i++)
printf("%d",a[i]);
}
50758595100
20년 3회
10번 출력 결과-8
#include <stdio.h>
int r1(){
return 4;
}
int r10(){
return(30+r1());
}
int r100(){
return(200+r10());
}
int main(){
printf("%d\n",r100());
}
234
20년 4회
10번 출력 결과-8
#include <stdio.h>
main() {
char *p="KOREA";
printf("%s\n",p);
printf("%s\n",p+3);
printf("%c\n",*p);
printf("%c\n",*(p+3));
printf("%c\n",*p+2);
}
KOREA
EA
K
E
M
21년 1회
15번 출력 결과 : -8
#include <stdio.h>
void main(){
struct insa {
char name[10];
int age;
}a[] = {"Kim",28,"Lee",38,"Park",42,"Choi",31};
struct insa *p;
p = a;
p++;
printf("%s\n", p-> name);
printf("%d\n", p-> age);
}
Lee
38
21년 2회
16번 출력 결과
#include <stdio.h>
int main(){
int res;
res = mp(2,10);
printf("%d",res);
return 0;
}
int mp(int base, int exp) {
int res = 1;
for(int i=0; i < exp; i++){
res *= base;
}
return res;
}
1024
21년 2회
18번 출력 결과 8
#include <stdio.h>
int main(){
int ary[3];
int s = 0;
*(ary+0)=1;
ary[1] = *(ary+0)+2;
ary[2] = *ary+3;
for(int i=0; i<3; i++){
s=s+ary[i];
}
printf("%d",s);
}
8
21년 3회
12번 출력 결과-8
#include <stdio.h>
int main(){
int *arr[3];
int a = 12, b = 24, c = 36;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
printf("%d\n", *arr[1] + **arr + 1);
}
37
21년 3회
17번 출력 결과
#include <stdio.h>
struct jsu {
char name[12];
int os, db, hab, hhab;
};
int main(){
struct jsu st[3] = {{"데이터1", 95, 88},
{"데이터2", 84, 91},
{"데이터3", 86, 75}};
struct jsu* p;
p = &st[0];
(p + 1)->hab = (p + 1)->os + (p + 2)->db;
(p + 1)->hhab = (p+1)->hab + p->os + p->db;
printf("%d\n", (p+1)->hab + (p+1)->hhab);
}
501
22년 1회
12번 5를 입력받았을 때 출력 결과 -8
#include <stdio.h>
int func(int a) {
if(a<=1) return 1;
return a*func(a-1);
}
int main(){
int a;
scanf("%d",&a);
printf("%d",func(a));
}
120
22년 1회
15번 아래 프로그램은 정수를 역순으로 출력하는데 (1)(2)(3)에 들어갈 연산자를 쓰시오
#include <stdio.h>
int main() {
int number = 1234;
int div = 10;
int result = 0;
while (number ( 1 ) 0) {
result = result * div;
result = result + number ( 2 ) div;
number = number ( 3 ) div;
}
printf("%d", result);
return 0;
}
(1) : >
(2) : %
(3) : /
22년 2회
8번 출력결과
#include <stdio.h>
struct A{
int n;
int g;
};
int main() {
struct A a[2];
for(int i=0;i<2;i++){
a[i].n=i, a[i].g=i+1;
}
printf("%d",a[0].n+a[1].g);
}
2
22년 2회
15번 출력결과
#include <stdio.h>
int len(char*p);
int main(){
char*p1 = "2022";
char*p2 = "202207";
int a = len(p1);
int b = len(p2);
printf("%d", a+b);
}
int len(char*p){
int r = 0;
while(*p != '\0'){
p++;
r++;
}
return r;
}
10
22년 2회
16번 출력결과
#include <stdio.h>
int main(int argc, char*argv[]) {
int a[4]={0,2,4,8};
int b[3]={};
int i=1;
int sum=0;
int *p1;
for(i;i<4;i++){
p1=a+i;
b[i-1]=*p1-a[i-1];
sum=sum+b[i-1]+a[i];
}
printf("%d",sum);
return 0;
}
22
22년 3회
1. 아래는 C언어의 2차원 배열 형태이다. field의 경우 2차원 배열 형태는 예시처럼 출력되므로, 이를 참고하여 mines의 2차원 배열 형태를 작성하시오.
(이 문제는 mine이 지뢰라는 뜻인지 몰랐다면 사실 풀기 힘든 문제였다)
#include <stdio.h>
void main(){
int mines[4][4] = {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
int field[4][4] = {{0,1,0,1},{0,0,0,1},{1,1,1,0},{0,1,1,1}};
int w = 4, h = 4;
for(int y=0; y<h; y++) {
for(int x=0;x<w;x++) {
if(field[y][x] == 0) continue;
for(int j=y-1;j<=y+1;j++) {
for(int i=x-1;i<=x+1;i++) {
if(chkover(w,h,j,i) == 1)
mines[j][i] += 1;
}
}
}
}
}
int chkover(int w,int h,int j,int i) {
if (i >= 0 && i < w && j >= 0 && j < h) return 1;
return 0;
}
사진 출처 : [2022년 3회] 정보처리기사 실기 복원 문제 (tistory.com)
1 | 1 | 3 | 2 |
3 | 4 | 5 | 3 |
3 | 5 | 6 | 4 |
3 | 5 | 5 | 3 |
22년 3회
13번 출력결과
#include<stdio.h>
main(){
int s, el =0;
for(int i=6; i<=30; i++){
s=0;
for(int j=1; j<=i/2; j++){
if(i%j==0){
s=s+j;
}
}
if(s==i){
el++;
}
}
printf("%d", el);
}
2
23년 1회
2번 출력결과
#include <stdio.h>
int main(void) {
char a[]="Art";
char*p=NULL;
p=a;
printf("%s\n",a);
printf("%c\n",*p);
printf("%c\n",*a);
printf("%s\n",a);
for(int i=0;a[i]!='\0';i++){
printf("%c",a[i]);
}
}
Art
A
A
Art
Art
23년 1회
8번 출력결과
#include <stdio.h>
int main(void) {
char *a = "qwer";
char *b = "qwtety";
for (int i = 0; a[i] != '\0'; i++) {
for (int j = 0; b[j] != '\0'; j++) {
if (a[i] == b[j]) printf("%c", a[i]);
}
}
}
qwe
23년 1회
10번 다음은 이진수에서 십진수로 변환하는 코드이다. (가)는 연산자이고 (나)는 정수일 때 빈칸을 알맞게 쓰시오.
#include <stdio.h>
int main(void) {
int input = 101110;
int di = 1;
int sum = 0;
while (input > 0) {
sum = sum + (input (가)(나) * di);
di = di * 2;
input = input / 10;
}
printf("%d", sum);
return 0;
}
(가 ) : %
(나) : 10 또는 2
23년 1회
14번 (가) (나) 빈칸에 알맞은 변수를 쓰시오.
#include <stdio.h>
void swap(int* idx1, int* idx2) {
int t = *idx1;
*idx1 = *idx2;
*( 가 ) = t;
}
void Usort(int a[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (a[j] > a[j + 1])
swap(&a[j], &a[j + 1]);
}
}
for (int k = 0; k < 5; k++) {
printf("%d ", a[k]);
}
}
int main(void) {
int arr[] = {64, 34, 25, 12, 40};
int nx = 5;
Usort(arr, (나));
return 0;
}
(가) idx2
(나) nx
23년 2회
1번 입력값이 순서대로 5, 4, 3, 2, 1일 경우 출력값이 43215로 출력 되도록 빈칸(가)에 들어갈 코드를 작성하시오.
int main()
{
int n[5];
int i;
for(i=0;i<5;i++){
printf("숫자를 입력하세요 : ");
scanf("%d",&n[i]);
}
for(i=0;i<5;i++){
printf("%d",(가));
}
return 0;
}
(가) : n[(i+1) % 5]
23년 2회
2번 a,b,c,d의 빈칸에 알맞은 식을 <보기>에서 찾아쓰는데 <보기>를 최소한으로 쓰시오.
<보기> 1000 500 100 10 % / + - |
#include<stdio.h>
int main()
{
int m=4620;
int a,b,c,d;
a=(가)
b=(나)
c=(다)
d=(라)
printf("1000원 개수: %d",a);
printf("500원 개수: %d",b);
printf("100원 개수: %d",c);
printf("10원 개수: %d",d);
return 0;
}
(가) : m/1000
(나) : (m%1000)/500
(다) : (m%500)/100
(라) : (m%100)/10
23년 2회
3번 다음 문제에서 홍길동, 김철수, 박영희 순서대로 입력했다고 할 때 출력결과
#include<stdio.h>
#include<stdlib.h>
char n[30];
char *test() {
printf("입력하세요 : ");
gets(n);
return n;
}
int main()
{
char * test1;
char * test2;
char * test3;
test1 = test();
test2 = test();
test3 = test();
printf("%s\n",test1);
printf("%s\n",test2);
printf("%s",test3);
return 0;
}
박영희
박영희
박영희
23년 2회
5번 출력결과
#include<stdio.h>
int main(void)
{
int n[3] = {73, 95, 82};
int sum = 0;
for(int i=0;i<3;i++){
sum += n[i];
}
switch(sum/30){
case 10:
case 9: printf("A");
case 8: printf("B");
case 7:
case 6: printf("C");
default: printf("D");
}
return 0;
}
BCD
23년 2회
7번 출력결과
#include<stdio.h>
int main(void){
int c=0;
for(int i = 1; i <=2023; i++) {
if(i%4 == 0) c++;
}
printf("%d", c);
return 0;
}
505
23년 2회
9번 출력결과
#include<stdio.h>
#define MAX_SIZE 10
int isWhat[MAX_SIZE];
int point= -1;
void into(int num) {
if (point >= 10) printf("Full");
isWhat[++point] = num;
}
int take() {
if (isEmpty() == 1) printf("Empty");
return isWhat[point--];
}
int isEmpty() {
if (point == -1) return 1;
return 0;
}
int isFull() {
if (point == 10) return 1;
return 0;
}
int main(int argc, char const *argv[])
{
int e;
into(5);
into(2);
while(!isEmpty())
{
printf("%d", take());
into(4);
into(1);
printf("%d", take());
into(3);
printf("%d", take());
printf("%d", take());
into(6);
printf("%d", take());
printf("%d", take());
}
return 0;
}
213465
23년 2회
18번 다음은 선택정렬을 하는 코드이다. (가)에 들어갈 기호를 쓰시오.
#include<stdio.h>
int main(void){
int E[] = {64, 25, 12, 22, 11};
int n = sizeof(E) / sizeof(E[0]);
int i = 0;
do {
int j = i + 1;
do {
if (E[i] (가) E[j]) {
int tmp = E[i];
E[i] = E[j];
E[j] = tmp;
}
j++;
} while (j < n);
i++;
} while (i < n - 1);
return 0;
}
(가) : >
23년 3회
3번 출력결과(20년 4회 10번 문제와 거의 동일)
#include <stdio.h>
int main() {
char* p = "KOREA";
printf("%s\n", p);
printf("%s\n", p+1);
printf("%c\n", *p);
printf("%c\n", *(p+3));
printf("%c\n", *p+4);
}
KOREA
OREA
K
E
O
23년 3회
4번 C언어에서 구조체의 멤버에 접근하기 위한 기호를 쓰시오.
->
23년 3회
9번 출력 결과
#include<stdio.h>
int complete(int n) {
int sum = 0;
for(int j=1; j<=n/2; j++) {
if(n%j == 0) {
sum = sum+j;
}
}
if(sum==n) {
return 1;
} else {
return 0;
}
}
int main() {
int s = 0;
for(int i=1; i<=100; i++) {
if(complete(i))
s += i;
}
printf("%d", s);
}
34
23년 3회
15번 출력결과
#include<stdio.h>
int f(int n) {
if(n<=1) return 1;
else return n*f(n-1);
}
int main() {
printf("%d", f(7));
}
24년 1회
2번 출력결과
#include <stdio.h>
int main() {
int v1 = 0, v2 = 35, v3 = 29;
if(v1 > v2 ? v2 : v1) {
v2 = v2 << 2;
}else{
v3 = v3 << 2;
}
printf("%d", v2+v3);
}
24년 1회
4번 출력결과
#include <stdio.h>
#include <string.h>
void reverse(char* str){
int len = strlen(str);
char temp;
char*p1 = str;
char*p2 = str + len - 1;
while(p1<p2){
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main(int argc, char* argv[]){
char str[100] = "ABCDEFGH";
reverse(str);
int len = strlen(str);
for(int i=1; i<len; i+=2){
printf("%c",str[i]);
}
printf("\n");
return 0;
}
24년 1회
11번 출력결과
#include <stdio.h>
typedef struct{
int accNum;
double bal;
}BankAcc;
double sim_pow(double base, int year){
int i;
double r = 1.0;
for(i=0; i<year; i++){
r = r*base;
}
return r;
}
void initAcc(BankAcc *acc, int x, double y){
acc -> accNum = x;
acc -> bal = y;
}
void xxx(BankAcc *acc, double *en){
if (*en > 0 && *en < acc -> bal) {
acc -> bal = acc -> bal-*en;
}else{
acc -> bal = acc -> bal+*en;
}
}
void yyy(BankAcc *acc){
acc -> bal = acc -> bal * sim_pow((1+0.1),3);
}
int main(){
BankAcc myAcc;
initAcc(&myAcc, 9981, 2200.0);
double amount = 100.0;
xxx(&myAcc, &amount);
yyy(&myAcc);
printf("%d and %.2f", myAcc.accNum, myAcc.bal);
return 0;
}
24년 1회
19번 출력결과
#include<stdio.h>
#include<ctype.h>
int main(){
char*p = "It is 8";
char result[100];
int i;
for(i=0; p[i]!='\0'; i++){
if(isupper(p[i]))
result[i] = (p[i]-'A'+5)% 25 + 'A';
else if(islower(p[i]))
result[i] = (p[i]-'a'+10)% 26 + 'a';
else if(isdigit(p[i]))
result[i] = (p[i]-'0'+3)% 10 + '0';
else if(!(isupper(p[i]) || islower(p[i]) || isdigit(p[i])))
result[i] = p[i];
}
result[i] = '\0';
printf("%s\n",result);
return 0;
}
24년 2회
13번 출력결과
#include <stdio.h>
int main() {
int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int* parr[2] = {arr[1], arr[2]};
printf("%d", parr[1][1] + *(parr[1]+2) + **parr);
return 0;
}
24년 2회
15번 출력결과
#include <stdio.h>
#include <string.h>
void sumFn(char* d, char* s) {
int sum = 0;
while (*s) {
*d = *s;
d++;
s++;
}
*d = '\0';
}
int main() {
char* str1 = "first";
char str2[50] = "teststring";
int result=0;
sumFn(str2, str1);
for (int i = 0; str2[i] != '\0'; i++) {
result += i;
}
printf("%d", result);
return 0;
}
24년 2회
18번 출력결과
#include <stdio.h>
void swap(int a, int b) {
int t = a;
a = b;
b = t;
}
int main() {
int a = 11;
int b = 19;
swap(a, b);
switch(a) {
case 1:
b += 1;
case 11:
b += 2;
default:
b += 3;
break;
}
printf("%d", a-b);
}
24년 2회
19번 출력결과
#include <stdio.h>
struct node {
int n1;
struct node *n2;
};
int main() {
struct node a = {10, NULL};
struct node b = {20, NULL};
struct node c = {30, NULL};
struct node *head = &a;
a.n2 = &b;
b.n2 = &c;
printf("%d\n", head->n2->n1);
return 0;
}
정보처리산업기사(정처산기) 실기 Java 기출문제 모음
정보처리산업기사(정처산기) 실기 Python 기출문제 모음
'정보처리기사 > 코딩+SQL기출문제' 카테고리의 다른 글
정보처리산업기사(정처산기) 실기 Java 기출문제 모음 (0) | 2023.10.21 |
---|---|
정보처리산업기사(정처산기) 실기 C언어 기출문제 모음 (2) | 2023.10.21 |
정보처리기사 실기 SQL 기출문제 모음 (7) | 2023.02.02 |
정보처리기사 실기 Python 기출문제 모음 (0) | 2022.12.15 |
정보처리기사 실기 JAVA 기출문제 모음 (8) | 2022.12.15 |