프로그래밍언어/C

[c] 랜덤 숫자들을 랜덤 연산 시키는 프로그램

dan2el 2021. 8. 25. 22:49
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void Cal(int calculate);
void Result(int calculate,int num[],int i);
void SubFunc(int num[]);
int End();

int main(){
    srand((unsigned int) time(NULL));
    int num[100];
    int calculate;
    int choice=0;

    do{
	for(int i=0;i<100;i++)
	    num[i] = rand()%1000+1;

	SubFunc(num);
    }while(End());//while
}//main

void SubFunc(int num[]){
    int cnt=0;
    int calculate;
    int choice;

    for(int i=0;i<99;i+=2){
	cnt++;
	calculate = rand()%5;

	printf(" %d.  %d",cnt,num[i]);
	Cal(calculate);
	printf("%d",num[i+1]);
	Result(calculate,num,i);

    }//for(i)
}

void Cal(int calculate){
    if(calculate==0)
	printf(" + ");
    else if(calculate==1)
	printf(" - ");
    else if(calculate==2)
	printf(" * ");
    else if(calculate==3)
	printf(" / ");
    else
	printf(" %% ");
}

void Result(int calculate, int num[],int i){
    if(calculate==0)
	printf("= %d\n",num[i]+num[i+1]);    
    else if(calculate==1)
	printf("= %d\n",num[i]-num[i+1]);    
    else if(calculate==2)
	printf("= %d\n",num[i]*num[i+1]);    
    else if(calculate==3)
	printf("= %d\n",num[i]/num[i+1]);    
    else
	printf("= %d\n",num[i]%num[i+1]);    
}

int End(){
    int choice;
    
    printf("\n\n더 출력할까요?\n1.예  2.아니오\n");
    scanf("%d",&choice);
    getchar();

    switch(choice){
	case 1:
	    return 1;
	case 2:
	    return 0;
    }
}

실행 결과