一.标志变量的设置
样例输入
"To be or not to be," quoth the Bard,"that is the question".
样例输出
``To be or not to be,"quoth the Bard,``that is the question".
int main() { int c, q = 1; while((c = getchar()) != EOF) { if( c == '"') { printf("%s",q ? "``" : "''"); q = !q; } else printf("%c",c); } return 0; }
二.周期串
for( int i = 1; i <= len; i++) if( len % i ==0) { int ok = 1; for(int j = i; j < len; j++) if( word[i] != word[ j % i ]) {ok = 0; break;} if( ok == 1) printf("%s",word); }
三.计算有多少次进位
int c = 0, ans = 0; for(int i = 9; i >= 0; i--) { c = ( a%10 + b %10 + c) > 9 ? 1 : 0; ans += c; a = a / 10; b = b / 10; }
四.阶乘的精确值
#include"stdio.h" #include"string.h" const int maxn = 3000; int f[maxn]; int main() { int i, j, n; scanf("%d", &n); memset(f, 0, sizeof(f)); f[0] = 1; for( i = 2; i <= n; i++) { int c = 0; for(j = 0; j < maxn; j++) { int s = f[j] * i + c; f[j] = s% 10; c = s / 10; } } for(j = maxn-1; j >=0 ; j--) if(f[j])break; for(i = j; i >= 0; i--) printf("%d",f[i]); printf("\n"); return 0 ; }