intmain(){ int i, n; scanf("%d", &n); for (i = 0; n > 1; i++){ if (n % 2 == 0) n /= 2; elseif(n % 2 != 0) n = (3 * n + 1) / 2; } printf("%d", i); return0; }
intmain(){ int i,n, target; int *num = (int*)calloc(sizeof(int), 300); while (scanf("%d", &n) != EOF){ for (i = 0; i < n; i++) scanf("%d", &num[i]); scanf("%d", &target); for (i = 0; i < n; i++) if (num[i] == target){ printf("%d\n", i); break; } if (i == n) printf("%d\n", -1); } }
intmain(){ int i, j; int n, n2; char c; scanf("%d %c", &n, &c); for (i = 0; i < n; i++) printf("%c", c); printf("\n"); n2 = n % 2 == 0 ? n / 2 : n / 2 + 1; for (i = 2; i < n2; i++){ printf("%c", c); for (j = 0; j < n - 2; j++) printf(" "); printf("%c\n", c); } for (i = 0; i < n; i++) printf("%c", c); }
intmain(){ int a, b, c, d; scanf("%d %d %d", &a, &b, &d); c = a + b; int z[40] = {0}; int num = 0; while (c != 0){ z[num++] = c % d; c /= d; } for (num > 0 ? num-- : 1; num >= 0; num--) printf("%d", z[num]); // 当 a+b==0 时,应输出一个0,而不是什么都不输出 }
在编译器中测试时,系统并不知道什么时候输入结束,因此需要用 Ctrl + Z + Enter 告诉系统已经到达 EOF ,循环才会结束。
1 2 3 4 5 6 7 8 9 10 11
#include<stdio.h> intmain(){ int i; int num = 0; // 单词的个数 char ans[90][90]; while (scanf("%s", ans[num]) != EOF) num++; for (i = num - 1; i >= 0; i--){ printf("%s", ans[i]); if(i > 0) printf(" "); // 输出单词之间的间隔 } }
char str[90]; gets(str); int i, len, r, h; // len为字符串长 r为行 h为列 len = strlen(str); r = h = 0; char ans[90][90]; for (i = 0; i < len; i++){ if (str[i] != ' ') ans[r][h++] = str[i]; else{ // 如果是空格,说明一个单词已经结束,行++,列置零 ans[r][h] = '\0'; r++; h = 0; } } for (i = r; i >= 0; i--){ printf("%s", ans[i]); if (i > 0) printf(" "); } }