스터디/c, c++ - 10

  1. 2013.12.26 [C] 열혈강의 C 프로그래밍 도전! 프로그래밍 FOUR 1 ~ 8 문제풀이
  2. 2013.12.19 [C] 동적할당과 정적할당에 대한 좋은 자료들
  3. 2013.12.18 [C] 열혈강의 C 프로그래밍 도전! 프로그래밍 THREE 1 ~ 8 문제풀이
  4. 2013.12.10 [C] 열혈강의 C 프로그래밍 도전! 프로그래밍 TWO 1~8 문제풀이


1>


#include <stdio.h>


struct book {

char writer[100];

char name[100];

int page;

};


int main(void){

struct book r[3];

int i;


printf("도서 정보 입력\n");

for(i=0; i<3; i++){

printf("저자 : ");

scanf("%s", &r[i].writer);

printf("제목 : ");

scanf("%s", &r[i].name);

printf("페이지 수 : ");

scanf("%d", &r[i].page);

}

printf("\n");

printf("도서 정보 출력\n");

for(i=0; i<3; i++){

printf("저자 : %s\n", r[i].writer);

printf("제목 : %s\n", r[i].name);

printf("페이지 수 : %d\n", r[i].page);

}


return 0;

}


2>

#include <stdio.h>

struct book {
char writer[100];
char name[100];
int page;
};

int main(void){
struct book *r=(struct book*)malloc(sizeof(struct book)*3);
int i;

printf("도서 정보 입력\n");
for(i=0; i<3; i++){
printf("저자 : ");
scanf("%s", &r[i].writer);
printf("제목 : ");
scanf("%s", &r[i].name);
printf("페이지 수 : ");
scanf("%d", &r[i].page);
}
printf("\n");
printf("도서 정보 출력\n");
for(i=0; i<3; i++){
printf("저자 : %s\n", r[i].writer);
printf("제목 : %s\n", r[i].name);
printf("페이지 수 : %d\n", r[i].page);
}

return 0;
}

3>

#include<stdio.h>

struct cn {
 double a;
 double b;
};

int main(){
struct cn d1, d2;

printf("복소수 입력(실수/허수)\n");
scanf("%lf %lf", &d1.a, &d1.b);
 
printf("복소수 입력(실수/허수)\n");
scanf("%lf %lf", &d2.a, &d2.b);

printf("합 - 실수부 : %lf, 허수부 : %lf \n", d1.a+d2.a, d1.b+d2.b);
printf("곱 - 실수부 : %lf, 허수부 : %lf \n", d1.a*d2.a-d1.b*d2.b, d1.b*d2.a+d1.a*d2.b);

return 0;
}

4>

풀이 중

5>

풀이 중

6>

#include <stdio.h>

int main(void){
int val;
char name[50];
char phone[50];
int i, j=0;
while(1){
puts("------------Menu------------");
puts("            1. Insert");
puts("            2. Delete");
puts("            3. Search");
puts("            4. Print All");
puts("            5. Exit");
fputs("Choose the item : ", stdout);
scanf("%d", &val);
printf("\n");

switch(val){
case 1:
puts("[INSERT]");
fputs("Input Name : ", stdout);
scanf("%s", &name);
fputs("Input Tel Number : ", stdout);
scanf("%s", &phone);
puts("-----------> Data Inserted");
j++;
printf("\n");
break;
case 2:
puts("[DELETE]");

break;
case 3:
puts("[SEARCH]");
break;
case 4:
puts("[Print All Data]");
for(i=0;i<j;i++){
printf("Name : %s  ", &name[i]);
printf("/  Tel : %s\n", &phone[i]);
}
printf("\n");
break;
case 5:
puts("[Exit]");
return 0;
}
default:
break;
}

return 0;
}

7>

풀이 중

파일 입출력에 대한 부분을 뛰어넘었더니..그 부분만 금방 다시 보고 다시 풀도록 하겠습니다!


2013.12.26 17:55. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/c, c++. Top

댓글을 달아 주세요



1. http://kkamagui.tistory.com/20


2. http://blog.naver.com/kgsshow1994/140171797228


3. http://kks227.blog.me/60204869801


4. http://the2384.blog.me/10104632061


동적할당과 정적할당에 대한 좋은 자료들 입니다. 좋은 자료순대로 순위를 매겼습니다.



2013.12.19 17:30. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/c, c++. Top

댓글을 달아 주세요

1>


#include <stdio.h>


void turn(int (*arr)[4]);


int main(void)

{

int arr[4][4]={

{1,2,3,4},

{5,6,7,8},

{9,10,11,12},

{13,14,15,16}

};


printf("1번 회전\n");

turn(arr);


printf("2번 회전\n");

turn(arr);


printf("3번 회전\n");

turn(arr);


printf("4번 회전\n");

turn(arr);


return 0;

}


void turn(int (*arr)[4]){

int i,j;

int tmp[4][4];


for(i=0;i<4;i++){

for(j=0;j<4;j++){

tmp[i][j]=arr[i][j];

}

}


for(i=0;i<4;i++){

for(j=0;j<4;j++){

arr[j][3-i]=tmp[i][j];

}

}


for(i=0;i<4;i++){

for(j=0;j<4;j++){

printf("%4d ", arr[i][j]);

}

printf("\n");

}

}


2>

풀이 중

3> 

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int i;

for(i=0;i<5;i++){
printf("난수 %d개 출력 : %d \n", i, rand()%100);
}

return 0;
}

4>

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
int i=0,j=0;
int v,vi;

while(1){
printf("바위 1, 가위 2, 보 3 : ");
scanf("%d", &v);
srand((int)time(NULL));
vi = rand()%4;

if(v==1){
if(vi==1){
printf("당신은 바위 선택, 컴퓨터는 바위 선택, 비겼습니다.\n");
i++;
}
if(vi==2){
printf("당신은 바위 선택, 컴퓨터는 가위 선택, 당신이 이겼습니다.\n");
j++;
}
if(vi==3){
printf("당신은 바위 선택, 컴퓨터는 보 선택, 당신이 졌습니다.\n");
break;
}
}

if(v==2){
if(vi==1){
printf("당신은 가위 선택, 컴퓨터는 바위 선택, 당신이 졌습니다.\n");
break;
}
if(vi==2){
printf("당신은 가위 선택, 컴퓨터는 가위 선택, 비겼습니다.\n");
i++;
}
if(vi==3){
printf("당신은 가위 선택, 보 선택, 당신이 이겼습니다.\n");
j++;
}
}

if(v==3){
if(vi==1){
printf("당신은 보 선택, 컴퓨터는 바위 선택, 당신이 이겼습니다.\n");
j++;
}
if(vi==2){
printf("당신은 보 선택, 컴퓨터는 가위 선택, 당신이 졌습니다.\n");
break;
}
if(vi==3){
printf("당신은 보 선택, 보 선택, 비겼습니다.\n");
i++;
}
}
}

printf("게임의 결과 : %d승 %d무\n", j, i);

return 0;
}

5>

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void start(){
printf("START GAME!\n");
printf("===============\n\n");
}

int main(void){

int a,b,c;
int ai,bi,ci;
int strike=0, ball=0;
int i=0;

start();

srand((int)time(NULL));
ai=rand()%10;
bi=rand()%10;
ci=rand()%10;

while(1){
i++;
printf("3개의 숫자 선택 : ");
scanf("%d %d %d", &a, &b, &c);

if(a==ai)
strike++;
else if(a==bi || a==ci)
ball++;

if(b==bi)
strike++;
else if(b==ai || b==ci)
ball++;

if(c==ci)
strike++;
else if(c==ai || c==bi)
ball++;

if(strike==3)
break;

printf("%d번째 도전 결과! : %dstrike, %dball!!\n", i, strike, ball);
}
return 0;
}



2013.12.18 07:22. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/c, c++. Top

댓글을 달아 주세요


1>


#include <stdio.h>


void zzz(int* str);


int main(void){

int input[10];

int i;


for(i=0;i<10;i++){

printf("입력해 : ");

scanf("%d", &input[i]);

}


zzz(input);


return 0;

}


void zzz(int* str){

int i;


printf("\n짝수 출력 : ");

for(i=0;i<10;i++){

if((str[i]%2)==0){

printf("%d, ", str[i]);

}

}


printf("\n홀수 출력 : ");

for(i=0;i<10;i++){

if((str[i]%2)!=0){

printf("%d, ", str[i]);

}

}


printf("\n");

}


2>


#include <stdio.h>


void binary(int a);


int main(void){

int input;


printf("10진수 정수 입력 : ");

scanf("%d", &input);


binary(input);

printf("\n");


return 0;

}


void binary(int a){

if(a>1)

binary(a/2);

printf("%d", a%2);

}


3>


#include <stdio.h>


void zzz(int* str);


int main(void){

int input[10];

int i;


for(i=0;i<10;i++){

printf("입력해 : ");

scanf("%d", &input[i]);

}


zzz(input);


return 0;

}


void zzz(int* str){

int i;


printf("\n배열 요소의 출력 : ");

for(i=0;i<10;i++){

if((str[i]%2)!=0){

printf("%d, ", str[i]);

}

}

for(i=0;i<10;i++){

if((str[i]%2)==0){

printf("%d, ", str[i]);

}

}


printf("\n");

}



4>


#include <stdio.h>

#include <string.h>


void zz(int l, char* st);


int main(void){

char str[50];

int len=0;


printf("문자열 입력 : ");

scanf("%s", &str);

len=strlen(str);

printf("글자 수 : %d \n \n", len);

zz(len, str);


return 0;

}


void zz(int l, char* st){

int j=l/2;

int i, a=0;

for(i=0; i<j; i++){

if(st[i]==st[l-i-1]){

a+=1;

}

}


if(a==j) printf("회문입니다.\n");

}


5>


#include <stdio.h>


void DesSort(int* arr); 


int main(void){

int input[7];

int i;


for(i=0;i<7;i++){

printf("거품정렬에 사용할 7가지 수 : ");

scanf("%d", &input[i]);

}


DesSort(input);


return 0;


}


void DesSort(int* arr)

{

int i, j, temp;


for(i=0; i<6; i++)

{

for(j=0; j<6-i; j++)

{

if(arr[j]>arr[j+1])

{

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}


for(i=0;i<7;i++){

printf("%d", arr[i]);

}

printf("\n");

}



2013.12.10 16:36. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/c, c++. Top

댓글을 달아 주세요