求大神进来解答几个问题。。急!!!!
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) ? " " : "")); }