[문제1] 정수를 받아서, 세자리마다 콤마(',')를 넣어 결과 문자열을 돌려주는 함수를 작성하고, 프로그램을 완성하시오.
정말 쉽게 생각했다가 어렵게 풀다가 쉽게 풀렸다. 3일동안..
#include<stdio.h>
#include<string.h>
#define STR_MAX 100
int main(void){
char x[STR_MAX];
char y[STR_MAX];
int x_len, y_len, comma, loop;
printf("입력 : ");
scanf("%s", x);
x_len=strlen(x);
comma=(x_len/3);
if((x_len%3)==0){
comma--;
y_len=x_len+comma;
}else{
y_len=x_len+comma;
}
y[y_len]=x[x_len];//공백문자삽입
y_len--;//-1해줌으로써 인자(0부터 시작)을 미리 맞춤
x_len--;
for(loop=1;0<=y_len;loop++){
if(comma>0){
//콤마가 있으면
if(loop%4==0 && loop!=1){
y[y_len]=',';
y_len--;
}else{
y[y_len]=x[x_len];
y_len--;
x_len--;
}
}else{
//콤마가 없으면
y[y_len]=x[x_len];
y_len--;
x_len--;
}
}
printf("출력 : %s\n", y);
return 0;
}