A
//注意感叹号为中文字符
#include<stdio.h>
int main(){
printf("I am a ACMer !\n");
return 0;
}
B
#include<stdio.h>
int main(){
int g;
scanf("%d",&g);
if(g>=90)printf("A\n");
else if(g>=80)printf("B\n");
else if(g>=70)printf("C\n");
else if(g>=60)printf("D\n");
else printf("E\n");
return 0;
}
C
#include<stdio.h>
int main(){
double sum=0;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
sum+=1.0/i;
}
printf("%.2f\n",sum);
return 0;
}
D
#include<stdio.h>
int main(){
int n;
int flag=1;//flag==1表示素数
scanf("%d",&n);
if(n==1)flag=0;
for(int i=2;i<n;i++){
if(n%i==0){
flag=0;
break;
}
}
if(flag)printf("Y\n");
else printf("N\n");
return 0;
}
E
#include<stdio.h>
int main(){
int a,b,t;
scanf("%d%d",&a,&b);
while(b!=0){
t = b;
b = a%b;
a = t;
}
printf("%d\n",a);
return 0;
}
F
/*
计算阶数为2,3,4,5,6...
可得走法有1,2,3,5,8...种
观察规律得a[i]=a[i-1]+a[i-2]
*/
#include<stdio.h>
int main(){
int n;
int a[50];
a[2]=1;
a[3]=2;
scanf("%d",&n);
for(int i=4;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
printf("%d\n",a[n]);
return 0;
}
G
//注意判断润年
#include<stdio.h>
int main(){
int y,m,d;
scanf("%d/%d/%d",&y,&m,&d);
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},i,k=0;
if((y%4==0&&y%100!=0)||y%400==0)//如果是润年,二月多一天
a[2]=a[2]+1;
for(i=1;i<m;i++)
k=k+a[i];
k=k+d;
printf("%d\n",k);
return 0;
}
H
#include<stdio.h>
int main(){
int a,b,c,d,e,n,i,j,t,max,min;
int p[3];
scanf("%d",&n);
for(e=0;n!=495;e++){//分解三位数
p[0]=n/100;
p[1]=(n-p[0]*100)/10;
p[2]=n%10;
for(j=0;j<2;j++){ //排序
for(i=0;i<2-j;i++){
if(p[i]>p[i+1]){
t=p[i];
p[i]=p[i+1];
p[i+1]=t;
}
}
}
a=p[0];
b=p[1];
c=p[2];
max=a+b*10+c*100;//最大值
min=a*100+b*10+c;//最小值
n=max-min;
}
printf("%d",e);
return 0;
}
I
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
cout<<i*j;
if(j<i)
cout<<' ';
else cout<<endl;
}
}
return 0;
}
J
#include<stdio.h>
int main(){
int m;
scanf("%d",&m);
char c;
getchar();
scanf("%c",&c);
int x=m-1;
int i=1;
//判断有多少行
while((2*i+4)*i<=x){
i++;
}
int row=--i;
//打印上三角
for(int i=row;i>=0;i--){
for(int j=0;j<row-i;j++)
printf(" ");
for(int j=0;j<2*i+1;j++)
printf("%c",c);
printf("\n");
}
//打印下三角
for(int i=1;i<=row;i++){
for(int j=0;j<row-i;j++)
printf(" ");
for(int j=0;j<2*i+1;j++)
printf("%c",c);
printf("\n");
}
printf("%d\n",x-(row*2+4)*row);
}