普及 01
1077 问题 A Hello,World!
1 #include<iostream> 2 using namespace std; 3 int main() { 4 cout<<"Hello, World!"; 5 return 0; 6 }
1078 问题 B 输出第二个整数
1 #include<iostream> 2 using namespace std; 3 int a,b; 4 int main() { 5 cin>>a>>b>>a; 6 cout<<b; 7 return 0; 8 }
1084 问题 C 字符三角形
1 #include<iostream> 2 using namespace std; 3 char a; 4 int main() { 5 cin>>a; 6 cout<<" "<<a<<endl; 7 cout<<" "<<a<<a<<a<<endl; 8 cout<<a<<a<<a<<a<<a<<endl; 9 return 0; 10 }
1085 问题 D 字符菱形
1 #include<iostream> 2 using namespace std; 3 char a; 4 int main() { 5 cin>>a; 6 cout<<" "<<a<<endl; 7 cout<<" "<<a<<a<<a<<endl; 8 cout<<a<<a<<a<<a<<a<<endl; 9 cout<<" "<<a<<a<<a<<endl; 10 cout<<" "<<a<<endl; 11 return 0; 12 }
1098 问题 E 计算(a+b)*c的值
1 #include<iostream> 2 using namespace std; 3 int a,b,c; 4 int main() { 5 cin>>a>>b>>c; 6 cout<<(a+b)*c; 7 return 0; 8 }
1104 问题 F 温度表达转化
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 double f; 5 int main() { 6 cin>>f; 7 cout<<fixed<<setprecision(5)<<5*(f-32)/9; 8 return 0; 9 }
1080 问题 G 输出保留3位小数的浮点数
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 float n; 5 int main() { 6 cin>>n; 7 cout<<fixed<<setprecision(3)<<n; 8 return 0; 9 }
普及 02
1117 问题 A 判断数正负
1 #include<iostream> 2 using namespace std; 3 int n; 4 int main() { 5 cin>>n; 6 if (n>0) cout<<"positive"; 7 if (n==0) cout<<"zero"; 8 if (n<0) cout<<"negative"; 9 return 0; 10 }
1119 问题 B 奇偶数判断
1 1119 问题 B 奇偶数判断 2 #include<iostream> 3 using namespace std; 4 int n; 5 int main() { 6 cin>>n; 7 if (n%2==1) cout<<"odd"; 8 if (n%2==0) cout<<"even"; 9 return 0; 10 }
1121 问题 C 整数大小比较
1 #include<iostream> 2 using namespace std; 3 int x,y; 4 int main() { 5 cin>>x>>y; 6 if (x>y) cout<<">"; 7 if (x<y) cout<<"<"; 8 if (x==y) cout<<"="; 9 return 0; 10 }
1122 问题 D 判断是否为两位数
1 #include<iostream> 2 using namespace std; 3 int n; 4 int main() { 5 cin>>n; 6 if (n>9 && n<100) cout<<1; 7 else cout<<0; 8 return 0; 9 }
普及 03
1137 问题 A判断闰年
1 #include<iostream> 2 using namespace std; 3 int a; 4 int main() { 5 cin>>a; 6 if (a%400==0 || a%4==0 && a%100!=0) cout<<"Y"; 7 else cout<<"N"; 8 return 0; 9 }
1127 问题 B小明赴约会
1 #include<iostream> 2 using namespace std; 3 int d; 4 int main() { 5 cin>>d; 6 if (d==1 || d==3 || d==5) cout<<"NO"; 7 else cout<<"YES"; 8 return 0; 9 }
1134 问题 C计算邮资
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 int w,ans=8; 5 char jj; 6 int main() { 7 cin>>w>>jj; 8 if (w>1000) { 9 ans=ans+(w-1000)/500*4; 10 w=w-1000; 11 if (w%500!=0) ans=ans+4; 12 } 13 if (jj=='y') ans+=5; 14 cout<<ans; 15 return 0; 16 }
1133 问题 D分段函数
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 double x,y; 5 int main() { 6 cin>>x; 7 if (x<5) y=2.5-x; 8 else if (x>=10) y=x/2-1.5; 9 else y=2-1.5*(x-3)*(x-3); 10 cout<<fixed<<setprecision(3)<<y; 11 return 0; 12 }
普及 04
1153 问题 A 与指定数字相同的数的个数
1 #include<iostream> 2 using namespace std; 3 int n,m,t,ans; 4 int main() { 5 cin>>n>>m; 6 for (int i=0;i<n;i++) { 7 cin>>t; 8 if (t==m) ans++; 9 } 10 cout<<ans; 11 return 0; 12 }
2695 问题 B 平方的尾数为自己的三位数
1 #include<iostream> 2 using namespace std; 3 int main() { 4 for (int i=100;i<=999;i++) 5 if (i*i%1000==i) cout<<i<<' '; 6 return 0; 7 }
1144 问题 C 均值
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 int n; 5 double a,ans; 6 int main() { 7 cin>>n; 8 for (int i=0;i<n;i++) cin>>a,ans+=a; 9 cout<<fixed<<setprecision(4)<<ans/n; 10 return 0; 11 }
1146 问题 D 最高的分数
1 #include<iostream> 2 using namespace std; 3 int n,ans,a; 4 int main() { 5 cin>>n; 6 cin>>ans; 7 for (int i=1;i<=n-1;i++) { 8 cin>>a; 9 if (a>ans) ans=a; 10 } 11 cout<<ans; 12 return 0; 13 }
普及05
1255 问题 A 商和余数的最大值
1 #include<iostream> 2 using namespace std; 3 int a,r,ans; 4 int main() { 5 for (int i=1000;i<=9999;i++) { 6 a=i/433;r=i%433; 7 if (a+r>ans) ans=a+r; 8 } 9 cout<<ans; 10 return 0; 11 }
2396 问题 B 判断质数
1 #include<iostream> 2 using namespace std; 3 int n; 4 int main() { 5 cin>>n; 6 if (n==1) { 7 cout<<"No"; 8 return 0; 9 } 10 for (int i=2;i*i<=n;i++) 11 if (n%i==0) { 12 cout<<"No"; 13 return 0; 14 } 15 cout<<"Yes"; 16 return 0; 17 }
1335 问题 C 分离整数的各个数位
1 #include<iostream> 2 using namespace std; 3 long long n; 4 int main() { 5 cin>>n; 6 cout<<n%10; 7 n=n/10; 8 while(n>0) { 9 cout<<','<<n%10; 10 n=n/10; 11 } 12 return 0; 13 }
3166 问题 D 灌溉农田
1 #include<iostream> 2 using namespace std; 3 int n,k,a,ans=101; 4 int main() { 5 cin>>n>>k; 6 for (int i=0;i<n;i++) { 7 cin>>a; 8 if (k%a==0) 9 if (k/a<ans) ans=k/a; 10 } 11 cout<<ans; 12 return 0; 13 }
普及06
1152 问题 A 整数的个数
1 #include<iostream> 2 using namespace std; 3 int k,t,a1,a5,a10; 4 int main() { 5 cin>>k; 6 for (int i=0;i<k;i++) { 7 cin>>t; 8 if (t==1) a1++; 9 if (t==5) a5++; 10 if (t==10) a10++; 11 } 12 cout<<a1<<endl<<a5<<endl<<a10<<endl; 13 return 0; 14 }
2480 问题 B 错误的减法
1 #include<iostream> 2 using namespace std; 3 int n,k; 4 int main() { 5 cin>>n>>k; 6 for (int i=0;i<k;i++) 7 if (n%10>0) n=n-1; 8 else n=n/10; 9 cout<<n; 10 return 0; 11 }
2515 问题 C 倒三角形
1 #include<iostream> 2 using namespace std; 3 int n; 4 char c; 5 int main() { 6 cin>>n>>c; 7 while(n>0) { 8 for (int i=1;i<=n;i++) cout<<c; 9 cout<<endl; 10 n=n-1; 11 } 12 return 0; 13 }
1248 问题 D 求和2
1 #include<iostream> 2 using namespace std; 3 int n,sum,ans; 4 int main() { 5 cin>>n; 6 for (int i=1;i<=n;i++) { 7 sum=sum+i; 8 ans=ans+sum; 9 } 10 cout<<ans; 11 return 0; 12 }
普及07
1198 问题 A 数组逆序重放
1 #include<iostream> 2 using namespace std; 3 int n,s[105]; 4 int main() { 5 cin>>n; 6 for (int i=0;i<n;i++) cin>>s[i]; 7 for (int i=n-1;i>=0;i--) cout<<s[i]<<' '; 8 return 0; 9 }
3165 问题 B 军衔
1 #include<iostream> 2 using namespace std; 3 int n,d[105],a,b,ans; 4 int main() { 5 cin>>n; 6 for (int i=1;i<=n-1;i++) cin>>d[i]; 7 cin>>a>>b; 8 for (int i=a;i<=b-1;i++) ans=ans+d[i]; 9 cout<<ans; 10 return 0; 11 }
1197 问题 C 计算书费
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 double ans,dj[10]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65}; 5 int sl; 6 int main() { 7 for (int i=0;i<10;i++) 8 cin>>sl,ans+=sl*dj[i]; 9 cout<<fixed<<setprecision(1)<<ans; 10 return 0; 11 }
2170 问题 D 转三进制数
1 #include<iostream> 2 using namespace std; 3 int n,t=1; 4 int main() { 5 cin>>n; 6 while(t<=n) t=t*3; 7 t=t/3; 8 while(t>0) { 9 cout<<n/t; 10 n=n%t; 11 t=t/3; 12 } 13 return 0; 14 }
1195 问题 E 与指定数字相同的数的个数
1 #include<iostream> 2 using namespace std; 3 int n,m,t[101],ans; 4 int main() { 5 cin>>n; 6 for (int i=0;i<n;i++) 7 cin>>t[i]; 8 cin>>m; 9 for (int i=0;i<n;i++) 10 if (t[i]==m) ans++; 11 cout<<ans; 12 return 0; 13 }
普及08
问题 A: 质数对
1 #include<iostream> 2 using namespace std; 3 bool zs(int x) { 4 for (int i=2;i*i<=x;i++) 5 if (x%i==0) return 0; 6 return 1; 7 } 8 int n; 9 bool flag=1; 10 int main() { 11 cin>>n; 12 for (int i=3;i<=n-2;i+=2) 13 if (zs(i) && zs(i+2)) flag=0,cout<<i<<' '<<i+2<<endl; 14 if (flag) cout<<"empty"; 15 return 0; 16 }
问题 B: 纯粹素数
1 #include<iostream> 2 using namespace std; 3 bool zs(int x) { 4 if (x==1) return 0; 5 for (int i=2;i*i<=x;i++) 6 if (x%i==0) return 0; 7 return 1; 8 } 9 int main() { 10 for (int i=1001;i<=3000;i+=2) 11 if (zs(i) && zs(i%1000) && zs(i%100) && zs(i%10)) cout<<i<<' '; 12 return 0; 13 }
2656: 造回文串1
1 #include<iostream> 2 using namespace std; 3 string s; 4 int main() { 5 cin>>s; 6 cout<<s; 7 for (int i=s.size()-2;i>=0;i--) cout<<s[i]; 8 return 0; 9 }
1299: 大小写字母互换
1 #include<iostream> 2 using namespace std; 3 string s; 4 int main() { 5 getline(cin,s); 6 for (int i=0;i<s.size();i++) 7 if (s[i]>='A' && s[i]<='Z') cout<<char (s[i]+32); 8 else if (s[i]>='a' && s[i]<='z') cout<<char (s[i]-32); 9 else cout<<s[i]; 10 return 0; 11 }
1293: 字符替换
1 #include<iostream> 2 using namespace std; 3 string s; 4 char y,t; 5 int main() { 6 cin>>s>>y>>t; 7 for (int i=0;i<s.size();i++) 8 if (s[i]==y) cout<<t; 9 else cout<<s[i]; 10 return 0; 11 }
普及09
1582: 数字方格
1 #include<iostream> 2 using namespace std; 3 int n,ans; 4 int main() { 5 cin>>n; 6 for (int a1=0;a1<=n;a1++) 7 for (int a2=0;a2<=n;a2++) 8 for (int a3=0;a3<=n;a3++) 9 if ((a1+a2)%2==0 && (a2+a3)%3==0 && (a1+a2+a3)%5==0 && a1+a2+a3>ans) ans=a1+a2+a3; 10 cout<<ans; 11 return 0; 12 }
1583: 鸡兔同笼
1 #include<iostream> 2 using namespace std; 3 int a; 4 int main() { 5 cin>>a; 6 if (a%2!=0) cout<<0<<' '<<0; 7 else cout<<a/4+a%4/2<<' '<<a/2; 8 return 0; 9 }
1585: 完美立方
1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 int n,t,d; 5 int main() { 6 cin>>n; 7 for (int a=5;a<=n;a++) 8 for (int b=2;b<=a-1;b++) 9 for (int c=b;c<=a-1 && b*b*b+c*c*c<a*a*a;c++) { 10 t=a*a*a-b*b*b-c*c*c; 11 d=int (pow(t,1.0/3)+0.5); 12 if (c<=d && d*d*d==t) cout<<"Cube = "<<a<<", Triple = ("<<b<<','<<c<<','<<d<<')'<<endl; 13 } 14 return 0; 15 }
1588: 确定进制
1 #include <iostream> 2 using namespace std; 3 long long conv(int n,int b) { 4 long long s=0,bb=1; 5 while (n) { 6 if (n%10>=b) return -1; //b进制数中不能出现大于b的数字 7 s+=n%10*bb; 8 n/=10; 9 bb*=b; 10 } 11 return s; 12 } 13 int main() { 14 int p,q,r,ans=0; 15 cin>>p>>q>>r; 16 for (int b=2;b<=16;++b) { 17 long long x,y,z; 18 x=conv(p,b),y=conv(q,b),z=conv(r,b); 19 if (x>=0 && y>=0 && z>=0 && x*y==z) { 20 ans=b; 21 break; 22 } 23 } 24 cout<<ans<<endl; 25 return 0; 26 }
普及11
1769: 矩阵上的文明
1 #include<bits/stdc++.h> 2 using namespace std; 3 int r,c,n; 4 char a[110][110],b[110][110]; 5 char judge(int x,int y) { 6 if (b[x][y]=='R') 7 if (b[x-1][y]=='P' || b[x][y-1]=='P' || b[x+1][y]=='P' || b[x][y+1]=='P') return 'P'; 8 if (b[x][y]=='S') 9 if (b[x-1][y]=='R' || b[x][y-1]=='R' || b[x+1][y]=='R' || b[x][y+1]=='R') return 'R'; 10 if (b[x][y]=='P') 11 if (b[x-1][y]=='S' || b[x][y-1]=='S' || b[x+1][y]=='S' || b[x][y+1]=='S') return 'S'; 12 return b[x][y]; 13 } 14 int main() { 15 cin>>r>>c>>n; 16 for (int i=1;i<=r;i++) 17 for (int j=1;j<=c;j++) 18 cin>>a[i][j]; 19 for (int i=0;i<n;i++) { 20 memcpy(b,a,sizeof(a)); 21 for (int j=1;j<=r;j++) 22 for (int k=1;k<=c;k++) 23 a[j][k]=judge(j,k); 24 } 25 for (int i=1;i<=r;i++) { 26 for (int j=1;j<=c;j++) 27 cout<<a[i][j]; 28 cout<<endl; 29 } 30 return 0; 31 }
1074: ABC扑克牌游戏
1 #include <bits/stdc++.h> 2 using namespace std; 3 string a,b,c; 4 int za,zb,zc; 5 char ch; 6 int main() { 7 cin>>a>>b>>c; 8 ch=a[za++]; 9 while (1) { 10 if (ch=='a') { 11 if (za==a.size()) break; 12 ch=a[za++]; 13 } 14 if (ch=='b') { 15 if (zb==b.size()) break; 16 ch=b[zb++]; 17 } 18 if (ch=='c') { 19 if (zc==c.size()) break; 20 ch=c[zc++]; 21 } 22 } 23 cout<<(char)(ch-32); 24 return 0; 25 }
1623: 神奇的幻方
题目描述有误,n<=39
1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,a[40][40],x,y; 4 int main() { 5 cin>>n; 6 x=1;y=n/2+1; 7 a[x][y]=1; 8 for (int i=2;i<=n*n;++i) { 9 if (x==1 && y!=n) x=n,y=y+1; 10 else if (x!=1 && y==n) x=x-1,y=1; 11 else if (x==1 && y==n) x=x+1; 12 else { 13 if (a[x-1][y+1]==0) x=x-1,y=y+1; 14 else x=x+1; 15 } 16 a[x][y]=i; 17 } 18 19 for (int i=1;i<=n;++i) { 20 for (int j=1;j<n;++j) cout<<a[i][j]<<" "; 21 cout<<a[i][n]<<endl; 22 } 23 return 0; 24 }