05학번 정수민 입니다 ¶
Profile ¶
목표 ¶
진행중 ¶
프로잭트 ¶
ㅋ 지금보면 미숙한부분이 너무 많은데;;; ㅋ; 이제와 수정할수도 없고 -_-;;
RUR ¶
피보나치수열 ¶
하노이탑 ¶
~cpp [..............]
구구단 ¶
~cpp
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j;
for ( i = 1 ; i < 10 ; i++ ){
for ( j = 2 ; j < 10 ; j++ )printf("%d*%d=%2d ", j, i, i*j );
printf("n");
}
system("PAUSE");
return 0;
}
당첨? ¶
~cpp
/************************************************************************
* *
* 로또복권 당첨돼는 번호가 나올때까지 무한 반복하는 프로그램입니다. *
* 재미있을꺼 같아서... 만들어봤는데 -_- 재미없어요 [............] *
* 가능성이 ㅡㅜ *
* *
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
void randem_x(int count);
void randem_y(int count, int save);
void winning_number();
void make_number(int k);
const int max_position = 6;
int randemsoo[2][6];
long g = 1;
int main()
{
int count, save;
srand((unsigned)time(NULL));
count = 1;
printf("중복 횟수입력 : ");
scanf("%d", &count);
printf("n");
randem_x(count);
save = 1;
winning_number();
randem_y(count, save);
return 0;
}
void make_number(int k){
int i, j, h;
/*숫자를 만들고,*/
for ( i = 0 ; i < max_position ; i++ ) randemsoo[k][i] = rand()%(45);
/*중복을 없앤다음에*/
while ( i <= max_position ){
for ( i = 0 ; i <= max_position ; i++ ) for ( j = i+1 ; j < max_position ; j++ ){
if( randemsoo[k][i] == randemsoo[k][j] ) {
randemsoo[k][j] = rand()%(45);
break;
}
}
}
/*오름차순으로 숫자를 정리*/
for ( i = 0 ; i < max_position ; i++ ) for (j = i+1 ; j < max_position ; j++){
if ( randemsoo[k][i] > randemsoo[k][j] ){
h = randemsoo[k][i];
randemsoo[k][i] = randemsoo[k][j];
randemsoo[k][j] = h;
}
}
}
void randem_x(int count){
int k;
k = 0;
make_number(k);
}
void randem_y(int count, int save){
int i, k;
k = 1;
while ( save <= count ){
make_number(k);
printf("game %d : ",g);
for ( i = 0 ; i < max_position ; i++ ) printf("%2d ", randemsoo[k][i]+1);
printf("n");
for ( i = 0 ; i < max_position ; i++ ){
if (randemsoo[0][i] || randemsoo[1][i]) break;
if ( i == max_position - 1 ) ++save;
}
++g;
}
printf ("복권 %d개를 사서 당첨되었습니다.n", g-1 );
winning_number();
}
void winning_number(){
int i;
printf("당첨 숫자 : ");
for ( i = 0 ; i < max_position ; i++ ) printf("%2d ", randemsoo[0][i]+1);
printf("n");
system("PAUSE");
}
|
겨우...... 한번 당첨된.......
리팩토링이란 말이 있길래 코드를 한 번 봤어요. 배열 리팩토링이란 어느 부분을 말하고 있는지 잘 모르겠지만, 이전에 더 쉬운 리팩토링부터 해나가야 하지 않을까 싶어요. 이를테면 randem_x, randem_y같은 함수는 무슨 일을 하는가요? 하는 일이 너무 많지 않은지 의심해보세요. 코드가 중복되는 부분을 줄여나갈 수도 있겠죠. --Leonardong
나름대로 완성입니다아~~ T^T 자축 ㅋ
-충고 감사합니다아~~ ㅎㅎ 나름대로 나누어 봤는데
이게 제대로 인지는 모르겠군요 =_=; 중복 부분만 어떻게 손보면 인제 나름대로 완성입니다 ㅋㅋ
이게 제대로 인지는 모르겠군요 =_=; 중복 부분만 어떻게 손보면 인제 나름대로 완성입니다 ㅋㅋ
계산기 ¶
~cpp
#include <stdio.h>
#include <stdlib.h>
int main()
{
int forward, backward, save;
char operation;
printf ("사칙연산 프로그램입니다.아직은 두개의 숫자만 계산이 가능합니다.n");
printf ("숫자는 최대 11자리까지 가능합니다.n");
printf ("계산 식을 입력하십시오 ex) 12+5n" );
printf ("-->");
scanf ("%d%c%d",&forward ,&operation ,&backward );
save = 0;
switch(operation)
{
case '+':
save = forward + backward;
break;
case '-':
save = forward - backward;
break;
case '*':
save = forward * backward;
break;
case '/':
save = forward / backward;
break;
default :
printf ("사칙연산만 입력하세요");
}
printf ("답 : %dn",save);
system("PAUSE");
return 0;
}
로또 ¶
~cpp
/****************************************************************
* *
* 로또 복권 번호 자동생성기 프로그램입니다. *
* 만든 날자 : 5월7일 *
* 만든 이 : 정수민 *
* 만든 목적 : 실습 *
* *
****************************************************************/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int count, save, randem[6], i, j;
srand((unsigned)time(NULL));
printf("n== LOTTO RANDOM NUMBER GENERATOR ==nnEnter the game count : ");
scanf("%d", &count);
printf("n========================nn");
for ( save = 1; save <= count; save++)
{
printf("GAME %d : ", save);
for ( i = 0 ; i < 6 ; i++ ) randem[i] = rand()%(45);
/*중복돼는 숫자를 없앱니다.*/
for ( i = 0 ; i < 6 ; i++ )
{
for ( j = i+1 ; j < 6 ; j++ ) while(randem[i] == randem[j]) randem[i] = rand()%(45);
printf("%2d ", ++randem[i]);
}
printf("n");
}
printf("n========================n");
system("PAUSE");
return 0;
}
점수입력 ¶
~cpp
/************************************************************
* *
* 점수를 입렵받아 총점과 평균 순위를 매기는 프로그램입니다.*
* 만든 이 : 정수민 *
* 만든 날자 : 5월7일 *
* 만든 목적 : 실습 *
* *
************************************************************/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int input_score, i, max, min, sum = 0, compare, *score;
float agv, team;
printf("과목수를 입력하세요 n --> ");
scanf("%d", &input_score) ;
score=(int*)malloc(sizeof(int)*input_score);
/*점수를 입력하는 부분 입니다.*/
for( i = 0 ; i < input_score ; i++ ){
printf("Enter a number for score[%d] : ", i);
scanf("%d", &score[i]);
sum += score[i];
}
printf("n[ The contents of score array ]n");
for( i = 0 ; i < input_score ; i++ ){
printf("%3d", score[i]);
}
/*점수의 총합과 평균, 최고점수,최소점수를 구하는 부분입니다.*/
team = sum;
agv = (team / input_score);
max = score[0];
min = score[0];
for( i = 0 ; i < input_score ; i++ ){
if (max < score[i]) max = score[i];
if (min > score[i]) min = score[i];
}
printf ("n sum=%d, agv=%.1fnn max=%d, min=%dn",sum ,agv, max, min);
/*순위를 매기는 부분입니다.*/
for( i = 0 ; i < input_score ; i++ ){
int j, k;
/*동점일경우 들어갈 순위에서 높은 숫자로 순위를 매깁니다.*/
k=1;
for( j = 0 ; j < input_score ; j++ ) if (score[i] < score[j]) k++;
printf("nscore[%d] : %d, rank = %dn", i, score[i], k);
}
system("PAUSE");
return 0;
}
홈페이지분류, ZeroPagers










