这些题目都是一些比较简单的练习题,除了几道需要预先推出公式的数学题目以外。都不算太难,只要注意细节的考虑就可以了。做了一点ACM的题目,虽说都是比较基础的,但也算是小小入了一下门。难免会有些体会,就是做题之前先看下时间限制,空间限制一般不会超出,利用空间换时间,依据现在的技术也是可取的。
一,HDU2000
http://acm.hdu.edu.cn/showproblem.php?pid=2000
#include #include using namespace std; char abc[3]; int main() { while(scanf("%s",abc)!=EOF) { sort(abc,abc+3); printf("%c %c %c/n",abc[0],abc[1],abc[2]); } return 0; }
二,HDU2001
http://acm.hdu.edu.cn/showproblem.php?pid=2001
#include #include int main() { double x1,x2,y1,y2,result; while(scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2)!=EOF) { result = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); printf("%.2lf/n",result); } return 0; }
三,HDU2002
http://acm.hdu.edu.cn/showproblem.php?pid=2002
注意:‘/’前面是什么类型的,结果也会是什么类型。所以摆放的时候要注意。
#include const double P = 3.1415927; int main() { double r; while(scanf("%lf",&r)!=EOF) { printf("%.3lf/n",4*P*r*r*r/3); } return 0; }
四,HDU2003
http://acm.hdu.edu.cn/showproblem.php?pid=2003
#include int main() { double x; while(scanf("%lf",&x)!=EOF) { if(x<0) { x = 0-x; } printf("%.2lf/n",x); } return 0; }
五,HDU2004
http://acm.hdu.edu.cn/showproblem.php?pid=2004
#include int main() { int x; while(scanf("%d",&x)!=EOF) { if(x>100)printf("Score is error!/n"); else if(x>=90)printf("A/n"); else if(x>=80)printf("B/n"); else if(x>=70)printf("C/n"); else if(x>=60)printf("D/n"); else if(x>=0)printf("E/n"); else printf("Score is error!/n"); } return 0; }
六,HDU2005
http://acm.hdu.edu.cn/showproblem.php?pid=2005
注意:涉及判断是否是闰年
#include bool isRun(int y) { if(y%400==0||(y%4==0&&y%100!=0)) return true; return false; } int main() { int i,year,month,date,sum; while(scanf("%d/%d/%d",&year,&month,&date)!=EOF) { sum=0; for(i=1;i
七,HDU2006
http://acm.hdu.edu.cn/showproblem.php?pid=2006
#include int main() { int n,x,result; while(scanf("%d",&n)!=EOF) { result = 1; while(n--) { scanf("%d",&x); if(x%2!=0)result*=x; } printf("%d/n",result); } return 0; }
八,HDU2007
http://acm.hdu.edu.cn/showproblem.php?pid=2007
容易犯得错误在:输入数据没有判断M,N的大小,不能肯定M一定比N小
#include int main() { int i,m,n,t,sum1,sum2; while(scanf("%d %d",&m,&n)!=EOF) { if(m>n) { t=m; m=n; n=t; } sum1=sum2=0; for(i=m;i<=n;i++) { //if(i==0)continue; if(i%2==0)sum1+=(i*i); else sum2+=(i*i*i); } printf("%d %d/n",sum1,sum2); } return 0; }
九,HDU2008
http://acm.hdu.edu.cn/showproblem.php?pid=2008
#include int main() { int n,a,b,c; double x; while(scanf("%d",&n)&&n!=0) { a=b=c=0; while(n--) { scanf("%lf",&x); if(x<0)a++; else if(x==0)b++; else c++; } printf("%d %d %d/n",a,b,c); } return 0; }
十,HDU2009
http://acm.hdu.edu.cn/showproblem.php?pid=2009
#include #include int main() { int m,n; double x,sum; while(scanf("%d %d",&n,&m)!=EOF) { x=n;sum=n;m--; while(m--) { x=sqrt(x); sum+=x; } printf("%.2lf/n",sum); } return 0; }
十一,HDU2010
http://acm.hdu.edu.cn/showproblem.php?pid=2010
#include int main() { int x,y,m,n,a,b,c; bool flg; while(scanf("%d %d",&m,&n)!=EOF) { flg = true; for(x=m;x<=n;x++) { a=x/100; y=x-a*100; b=y/10; c=y%10; if(a*a*a+b*b*b+c*c*c == x) { if(flg) { printf("%d",x); flg=false; } else printf(" %d",x); } } if(flg)printf("no/n"); else printf("/n"); } return 0; }
十二,HDU2011
http://acm.hdu.edu.cn/showproblem.php?pid=2011
#include int main() { int m,n,i; double x,sum; while(scanf("%d",&m)!=EOF) { while(m--) { scanf("%d",&n); sum=0; for(i=1;i<=n;i++) { x=1.00/i; //notice division type if(i%2==0) sum-=x; else sum+=x; } printf("%.2lf/n",sum); } } return 0; }
十三,HDU2012
http://acm.hdu.edu.cn/showproblem.php?pid=2012
#include #include //判断素数: int isprime(int n) { int i; if(n<=1)return false; for(i=2;i*i<=n;i++) { if(n%i==0)return false; } return true; } int main() { int a,b,n,t; while(scanf("%d %d",&a,&b)&&(a!=0||b!=0)) { t=0; for(n=a;n<=b;n++) { if(isprime(n*n+n+41)) { t++; } } if(t==b-a+1)printf("OK/n"); else printf("Sorry/n"); } return 0; }
十四,HDU2013
http://acm.hdu.edu.cn/showproblem.php?pid=2013
数学题:稍微比较容易的那种
// x = 2^(n-1)+(2+2^2+...+2^(n-1))] #include int main() { int x,n,y,i,m; while(scanf("%d",&n)!=EOF) { y = 1;m=0; for(i=1;i
十五,HDU2014
http://acm.hdu.edu.cn/showproblem.php?pid=2014
#include int main() { int n,x,max,min,sum,m; double average; bool flg; while(scanf("%d",&n)!=EOF) { sum = 0; flg = true; m=n; while(n--) { scanf("%d",&x); if(flg) { max=x;min=x;sum+=x;flg=false; } else { if(x>max)max=x; if(x
十六,HDU2015
http://acm.hdu.edu.cn/showproblem.php?pid=2015
这道题:也错3次,具体是什么错误也被它搞得稀里糊涂的。
#include int a[105]={0}; int main() { int n,m,i,sum,average; for(i=1;i<105;i++) { a[i]+=2*i; } while(scanf("%d %d",&n,&m)!=EOF) { sum=0; for(i=1;i<=n;i++) { if(i%m==0) //if m==1 { sum+=a[i]; average=sum/m; if(i==m)printf("%d",average); else printf(" %d",average); sum=0; } else { sum+=a[i]; } } if(n%m!=0) { average = sum/(n%m); if(n
十七,HDU2016
http://acm.hdu.edu.cn/showproblem.php?pid=2016
#include #include int x[105]; int main() { int n,a,temp,i,min; while(scanf("%d",&n)&&n!=0) { memset(x,0,sizeof(x)); x[0]=n;min=1; for(i=1;i<=n;i++) { scanf("%d",&a); x[i]=a; if(x[i]
十八,HDU2017
http://acm.hdu.edu.cn/showproblem.php?pid=2017
#include #include int main() { int n,count,len,i; char str[1000]; while(scanf("%d",&n)!=EOF) { while(n--) { count=0; scanf("%s",str); len = strlen(str); for(i=0;i='0'&&str[i]<='9')count++; } printf("%d/n",count); } } return 0; }
【未】十九,HDU2018
二十,HDU2019
http://acm.hdu.edu.cn/showproblem.php?pid=2019
#include #include int x[103]; void InsertSort(int a[],int ai,int c) { int i,j; for(i=ai;i>0;i--) { if(a[i]<=c)break; } for(j=ai;j>i;j--) //move towards back { a[j+1]=a[j]; } a[j+1]=c; } int main() { int n,m,i; while(scanf("%d %d",&n,&m)&&(n!=0||m!=0)) { memset(x,0,sizeof(x)); for(i=1;i<=n;i++) { scanf("%d",&x[i]); } InsertSort(x,n,m); for(i=1;i<=(n+1);i++) { if(i==1)printf("%d",x[i]); else printf(" %d",x[i]); } printf("/n"); } return 0; }
二十一,HDU2020
http://acm.hdu.edu.cn/showproblem.php?pid=2020
#include #include #include int x[103]; void InsertSortCeil(int t[],int m,int e) { int i,j; if(m==0)t[1]=e; else { for(i=m;i>0;i--) { if(abs(t[i])>=abs(e))break; } for(j=m;j>i;j--) { t[j+1]=t[j]; } t[j+1] = e; } } int main() { int i,n,a; while(scanf("%d",&n)&&n!=0) { for(i=1;i<=n;i++) { scanf("%d",&a); InsertSortCeil(x,i-1,a); } for(i=1;i<=n;i++) { if(i==1)printf("%d",x[i]); else printf(" %d",x[i]); } printf("/n"); } return 0; }
二十二,HDU2021
http://acm.hdu.edu.cn/showproblem.php?pid=2021
#include int Yuan[6]={100,50,10,5,2,1}; int main() { int n,x,num,i,j; while(scanf("%d",&n)&&n!=0) { num =0; while(n--) { scanf("%d",&x); for(i=0;i<6;i++) { j=x/Yuan[i]; x=x%Yuan[i]; num+=j; } } printf("%d/n",num); } return 0; }
二十三,HDU2022
http://acm.hdu.edu.cn/showproblem.php?pid=2022
#include #include #include int scores[1000]; int main() { int m,n,i,y,x,max; while(scanf("%d %d",&m,&n)!=EOF) { memset(scores,0,sizeof(scores)); for(i=1;i<=m*n;i++) { scanf("%d",&scores[i]); if(i==1) { max = i; } else { if(abs(scores[i])>abs(scores[max]))max=i; } } if(max%n==0) //notice edge's data { y=n; x=max/n; } else { y=max%n;x=max/n+1; } printf("%d %d %d/n",x,y,scores[max]); } return 0; }
【W】二十四,HDU2023
http://acm.hdu.edu.cn/showproblem.php?pid=2023
#include #include int scores[52][7]={0}; int n,m; int main() { int i,j,num,t; while(scanf("%d %d",&n,&m)!=EOF) { for(i=0;i<=52;i++) memset(scores[i],0,7); for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { scanf("%d",&scores[i][j]); scores[i][0]+=scores[i][j]; scores[0][j]+=scores[i][j]; } } num=0; for(i=1;i<=n;i++) { t=m; for(j=1;j<=m;j++) { if(scores[i][j]
二十五,HDU2024
http://acm.hdu.edu.cn/showproblem.php?pid=2024
注意:合法C语言标示符
#include #include int main() { char s[55]; int n,len,i; bool flg; while(scanf("%d",&n)!=EOF) { gets(s); while(n--) { memset(s,0,sizeof(s)); gets(s); len = strlen(s); flg=true; for(i=0;i='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) { continue; } else { flg=false;break; } } if(s[i]=='_'||(s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9')) { continue; } else { flg = false;break; } } if(flg)printf("yes/n"); else printf("no/n"); } } return 0; }
二十六,HDU2025
http://acm.hdu.edu.cn/showproblem.php?pid=2025
#include #include int main() { char s[105]; char smax[5]={'(','m','a','x',')'}; int i; char maxch; while(scanf("%s",s)!=EOF) { maxch=s[0]; for(i=0;i<(int)strlen(s);i++) { if(s[i]>maxch)maxch=s[i]; } for(i=0;i<(int)strlen(s);i++) { if(s[i]==maxch) { printf("%c",s[i]); for(int j=0;j<5;j++) printf("%c",smax[j]); } else printf("%c",s[i]); } printf("/n"); } return 0; }
二十七,HDU2026
http://acm.hdu.edu.cn/showproblem.php?pid=2026
#include #include int main() { char s[105]; int i; bool flg; while(gets(s)) { for(i=0;i<(int)strlen(s);i++) { if(i==0) { s[i]-=32; flg = false; } else { if(s[i]==' ')flg=true; else { if(flg) { s[i]-=32; flg=false; } } } } printf("%s/n",s); } return 0; }
二十八,HDU2027
http://acm.hdu.edu.cn/showproblem.php?pid=2027
#include #include int main() { char s[105]; char ac[5]={'a','e','i','o','u'}; int n,i; int abc[5]; while(scanf("%d",&n)!=EOF) { gets(s); while(n--) { memset(abc,0,sizeof(abc)); gets(s); for(i=0;i<(int)strlen(s);i++) { if(s[i]=='a') { abc[0]++; } else if(s[i]=='e') { abc[1]++; } else if(s[i]=='i') { abc[2]++; } else if(s[i]=='o') { abc[3]++; } else if(s[i]=='u') { abc[4]++; } else continue; } for(i=0;i<5;i++) { printf("%c:%d/n",ac[i],abc[i]); } if(n!=0) printf("/n"); } } return 0; }
【W】二十九,HDU2028
http://acm.hdu.edu.cn/showproblem.php?pid=2028
#include #include int x[102]; int main() { int n,i,j,max,t; while(scanf("%d",&n)!=EOF) { for(i=0;i
三十,HDU2029
http://acm.hdu.edu.cn/showproblem.php?pid=2029
#include #include int main() { char s[103]; int n,i,j,t; while(scanf("%d",&n)!=EOF) { while(n--) { memset(s,0,sizeof(s)); scanf("%s",s); j=(int)strlen(s)/2-1; t=0; for(i=0;i<=j;i++) { if(s[i]==s[(int)strlen(s)-1-i])t++; } if(t==(int)strlen(s)/2) printf("yes/n"); else printf("no/n"); } } return 0; }
【L】三十一,HDU2030
http://acm.hdu.edu.cn/showproblem.php?pid=2030
#include #include int main() { int n,sum,i; char s[105]; while(scanf("%d",&n)!=EOF) { gets(s); while(n--) { gets(s); sum=0; for(i=0;i<(int)strlen(s);i++) { if(s[i]<0||s[i]>255) sum++; } printf("%d/n",sum/2); } } return 0; }
三十二,HDU2031
http://acm.hdu.edu.cn/showproblem.php?pid=2031
#include #include using namespace std; stack system_stack; int main() { int n,r,c; bool flg; while(scanf("%d %d",&n,&r)!=EOF) { flg = false; if(n==0)printf("0/n"); else { if(n<0) { n=0-n;flg=true; } while(n!=0) { c=n%r; if(c==10)system_stack.push('A'); else if(c==11)system_stack.push('B'); else if(c==12)system_stack.push('C'); else if(c==13)system_stack.push('D'); else if(c==14)system_stack.push('E'); else if(c==15)system_stack.push('F'); else system_stack.push(c+'0'); n/=r; } if(flg)system_stack.push('-'); while(!system_stack.empty()) { printf("%c",system_stack.top()); system_stack.pop(); } printf("/n"); } } return 0; }
没有完成的题目,以后要加油完成呀!FIGHTING....