#include <stdio.h>
#include <stdlib.h>
/* 必要であれば,関数を定義してよい */
char *quatstr_malloc(int n){
char *pt;
int i,tmp;
/* サイズ判定 */
i=2;/* 最低サイズ(1ケタ+'\0') */
tmp = n;
while((tmp/=4) != 0)i++;
/* メモリ確保 */
if( ( pt = (char*)malloc(sizeof(char)*i) ) == NULL){
fprintf(stderr,"malloc error\n");
exit(1);
}
/* 文字列格納 */
pt[--i] = '\0';
while(n != 0){
pt[--i] = '0'+n%4;
n /= 4;
}
return pt;
}
int main()
{
int a, b;
char *p1,*p2,*p3;
/*ここを書く*/
/* 入力 */
printf("変数a:");
scanf("%d",&a);
printf("変数b:");
scanf("%d",&b);
printf("\n");
/* 表示 */
p1 = quatstr_malloc(a);
p2 = quatstr_malloc(b);
p3 = quatstr_malloc(a+b);
printf("変数a:%s\n",p1);
printf("変数b:%s\n",p2);
printf("a+b=%s\n",p3);
free(p1); free(p2); free(p3);
return 0;
}