탈주자로 인하여 잠수함이 못내려가요. 더 무거워져야 될텐데..
1. 참여자 명단 ¶
함장 | 장용운 | 11학번 | 도스마스 |
선원 | 천준현 | 15학번 | 행방불명 |
최지혁 | 출석 |
박인서 | 도스마스 |
이정재 | 고향 |
이원준 | 출석 |
조종현 | 장염 |
남헌 | 도스마스 |
1. 장소 : 6층 학회실
2. 시간 : 14시 ~ 17시
보충. 스택과 큐 연습
탈주자들 안오면 잘라버리자
- 큐를 이용하여 은행에 저장된 사람이름, 계좌번호, 잔액을 입력받은 순서대로 나오게 작성하시오.
- 스택을 이용하여 은행에 저장된 사람이름, 계좌번호, 잔액을 입력받은 순서의 반대로 나오게 작성하시오.
#include <stdio.h>
#include <stdlib.h>
typedef struct bank{
int money;
int num;
char * name;
}bank;
typedef struct node{
bank val;
struct node* next;
}node;
void push(node *);
void pop(node *);
int main()
{
node head;
int i;
head.next=NULL;
for(i=0;i<10;i++) push(&head);
for(i=0;i<10;i++) pop(&head);
return 0;
}
void push(node * target)
{
node * newnode=(node *)malloc(sizeof(node));
node * temp=target->next;
int tmoney,tnum;
char * tname=(char *)malloc(sizeof(char)*100);
scanf("%s %d %d",tname,&tnum,&tmoney);
newnode->val.name=tname;
newnode->val.num=tnum;
newnode->val.money=tmoney;
target->next=newnode;
newnode->next=temp;
}
void pop(node * target)
{
node * kill=(node *)malloc(sizeof(node));
if(target==NULL) abort();
if(target->next->next==NULL)
{
printf("%s %d %d\n",target->next->val.name,target->next->val.num,target->next->val.money);
kill=target->next;
target->next=NULL;
free(kill);
}
else pop(target->next);
}
#include <stdio.h>
#include <stdlib.h>
typedef struct bank{
int money;
int num;
char * name;
}bank;
typedef struct node{
bank val;
struct node* next;
}node;
void push(node *);
void pop(node *);
int main()
{
node head;
int i;
head.next=NULL;
for(i=0;i<10;i++) push(&head);
for(i=0;i<10;i++) pop(&head);
return 0;
}
void push(node * target)
{
node * newnode=(node *)malloc(sizeof(node));
node * temp=target->next;
int tmoney,tnum;
char * tname=(char *)malloc(sizeof(char)*100);
scanf("%s %d %d",tname,&tnum,&tmoney);
newnode->val.name=tname;
newnode->val.num=tnum;
newnode->val.money=tmoney;
target->next=newnode;
newnode->next=temp;
}
void pop(node * target)
{
node * kill = target->next;
printf("%s %d %d\n",target->next->val.name,target->next->val.num,target->next->val.money);
if(target->next==NULL) abort();
target->next=target->next->next;
free(kill);
}
(free따윈없다!)
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
char v;
struct node* next;
}node;
typedef struct account{
node namehd;
node anumhd;
struct account* next;
}account;
void push(node*, char*);
account* acpush(account* hd);
void freeAll(node*);
int l = 10; //고객수
void main(){
account ac = { NULL };
account* tmp = ∾
account* pt = (account*)malloc(sizeof(account));
char a;
pt = ∾
for (int i = 0; i < l; i++)
{
printf("이름입력하3\n");
for (int j = 0; 1; j++){
a = fgetc(stdin);
if (a == '\n') break;
push(&(pt->namehd), &a);
}
printf("번호입력하3\n");
for (int j = 0; 1; j++){
a = fgetc(stdin);
if (a == '\n') break;
push(&(pt->anumhd), &a);
}
printf("\n");
pt = acpush(pt);
pt->anumhd.next = NULL;
pt->namehd.next = NULL;
pt->next = NULL;
}
pt = ∾
printf("----출력----\n");
for (int i = 0; i < l; i++){
printf("이름\n");
freeAll(&(pt->namehd));
printf("\n");
printf("계좌\n");
freeAll(&(pt->anumhd));
printf("\n");
printf("\n");
pt = pt->next;
}
}
void push(node* hd, char* val){
node* tmp = (node*)malloc(sizeof(node));
node* pt = (node*)malloc(sizeof(node));
pt = hd;
while (pt->next != NULL)
{
pt = pt->next;
}
tmp->next = NULL;
tmp->v = *val;
pt->next = tmp;
pt = pt->next;
}
account* acpush(account* ac){
account* tmp = (account*)malloc(sizeof(account));
tmp->next = NULL;
ac->next = tmp;
return ac->next;
}
void freeAll(node* hd){
node* ntp;
node* tmp = hd;
while (hd->next != NULL){
ntp = hd->next;
printf("%c", ntp->v);
ntp = ntp->next;
hd->next = ntp;
}
hd = tmp;
}