http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=2
1.2.5 #include<stdio.h> /* 题意:找闰年。 if((i%4==0 && i%100!=0) || i%400==0)count++; 3 2005 25 1855 12 2004 10000 2108 1904 43236 */ int main() { int t,y,n; int i,count=0; while(scanf("%d",&t)==1) { while(t--) { count = 0; scanf("%d%d",&y,&n); for (i=y;count<n;i++) { if((i%4==0 && i%100!=0) || i%400==0) count++; } printf("%d\n",i-1); } } return 0; }
1.2.6 #include "stdafx.h" /* 题意:计算每行1的个数 2 2 2 1 1 0 0 3 3 1 0 1 0 0 1 1 1 0 2 5 */ #include <cstdio> #include <cstdlib> #include <stdio.h> int main(){ int n, m, z; scanf("%d", &z); int c=0; //int r=0,g=0; int *r; while (z-- != 0) { scanf("%d%d", &n,&m); while(n-- != 0) { r = (int*)malloc(sizeof(int)*m); for (int i = 0; i < m;++i) { scanf("%d",r+i); if (r[i] == 1) c++; } } printf("%d\n", c); c = 0; } return 0; }
1.2.7 #include<stdio.h> /* 题意:转10进制做加法 3 1(2) 2(3) 3(4) 4 11(10) 11(2) 11(3) 11(4) 6 23 */ #include <stdio.h> #include <string.h> #include <stdlib.h> int sum; int pow(int x, int i) { if(i == 0) return 1; else if(i == 1) return x; else return x * pow(x, i - 1); } void fun(int x, int n) { int i = 0, p; while(x) { p = x % 10; sum += p * pow(n, i); x = x / 10; i++; } } int main( ) { int N, a,b, i; while(scanf("%d", &N)!=EOF) { sum = 0; for(i = 1; i <= N; i++) { scanf("%d(%d)",&a, &b); if (b == 10) { sum += a; continue; } fun(a, b); } printf("%d\n",sum); } return 0; }
1.2.8 /* 题意:元音词,数组映射,aAeEiIoOuU 4 XYz application qwcvb aeioOa xyz ApplIcAtIOn qwcvb AEIOOA */ #include <iostream> #include <string> #include <cstring> #include <cstdio> using namespace std; int alpha[256]; int main(){ int n; char text[55]; alpha['a']=alpha['A']=alpha['e']=alpha['E']=alpha['i']=alpha['I']=alpha['o']=alpha['O']=alpha['u']=alpha['U']=1; while(scanf("%d",&n)!=EOF){ while(n--){ scanf("%s",text); int len=strlen(text); for(int i=0;i<len;++i){ if(alpha[text[i]]){ putchar(toupper(text[i])); }else{ putchar(tolower(text[i])); } } puts(""); } } return 0; }