求大神进来解答几个问题。。急!!!!
1、输入两个十进制数转化为二进制数输出,再将二进制相加求和输出。。
求大神给出代码 。
2、用递归的方法求50的阶乘。。(50!)
求大神给出代码 。
3、将两个升序的数组归并成一个新的升序的数组
求大神给出代码 。
4、输入年份和该年第几天,输出该天的年月日。
求大神给出代码 。
程序代码:
#include <stdio.h>
double foo(int n) {
double v;
if(0 == n) v = 1;
else v = foo(n - 1) * n;
return v;
}
int main(void) {
int n;
scanf("%d", &n);
printf("%.16g\n", foo(n));
return 0;
}

程序代码:#include <stdio.h>
#define SIZE (8 * sizeof(int))
void itobs(int, char *);
void prtbs(char *);
int main(void) {
int x, y;
char sx[SIZE + 1] = {0}, sy[SIZE + 1] = {0}, sum[SIZE + 1] = {0};
while((scanf("%d%d", &x, &y)) != 2) while(getchar() != '\n');
itobs(x, sx);
itobs(y, sy);
itobs(x + y, sum);
prtbs(sx);
printf("%35s\n", "+");
prtbs(sy);
printf("%35s\n", "=");
prtbs(sum);
return 0;
}
void itobs(int n, char *s) {
for(int i = SIZE - 1; i >= 0; i--, n >>= 1)
s[i] = (1 & n) + '0';
}
void prtbs(char *s) {
for(int i = 0; i < SIZE; i++)
printf("%c%s", s[i], (i == SIZE - 1 ? "\n" : ((i + 1) % 8 == 0) ? " " : ""));
}
