- 浙江理工大学我的编程之路答案
- 语言:C/C++
- 推荐编译器:Dev-C++ / CodeBlocks
- 严禁直接复制提交
- 作弊行为将会被ACM校队禁止入队
- 作者:JokerNoCry
1000: 送分题-A+B Problem
#include
using namespace std;
int main (){
int a,b;
cin>>a>>b;
cout<<a+b;
}
零基础学C/C++
oj 题目1001--1199
1001: 零基础学C/C++01——第一个程序Hello World!
#include
using namespace std;
int main (){
cout<<"Hello World!"<<endl;
}
1002: 零基础学C/C++02——输出简单的句子
#include
using namespace std;
int main (){
cout<<"Nice to meet you!";
}
1003: 零基础学C/C++03——Very Good!
#include
using namespace std;
int main (){
for(int i=0;i<15;i++) cout<<"*";
cout<<endl<<endl;
cout<<" Very Good!"<<endl;
cout<<endl;
for(int i=0;i<15;i++) cout<<"*";
cout<<endl;
}
1004: 零基础学C/C++04——超简单模仿算术题
#include
int main()
{
printf("%d\n",10-7);
return 0;
}
1005: 零基础学C/C++05——再模仿一个算术题
#include
int main()
{
printf("%d\n",9*10);
return 0;
}
1006: 零基础学C/C++06——再来一题除法算术题
#include
int main()
{
printf("%.1f\n",8.0/5);
return 0;
}
1007: 零基础学C/C++07——复杂一点的算式表达式
#include
#include
int main()
{
printf("%.2f\n",1+sqrt(3.0)/(4-2.1));
return 0;
}
1008: 零基础学C/C++08——鹦鹉学舌1
#include
int main (){
int a;
scanf("%d",&a);
printf("%d",a);
return 0;
}
1009: 零基础学C/C++09——a + b
#include
using namespace std;
int main () {
int a,b;
cin>>a>>b;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<"s="<<a+b<<endl;
return 0;
}
1010: 零基础学C/C++10——a - b
#include
int main (){
int a,b;
scanf("%d,%d",&a,&b);
printf("%d",a-b);
return 0;
}
1011: 零基础学C/C++11——买票找钱
#include
int main (){
float a;
scanf("%f",&a);
printf("%.2f",100-3*a);
return 0;
}
1012: 零基础学C/C++12——求平均值
#include
int main (){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.3f",(a+b+c)/3.000);
return 0;
}
1013: 零基础学C/C++13——华氏摄氏温度转换
#include
int main (){
float a,b;
scanf("%f",&a);
printf("fahr=%.3f,celsius=%.3f",a,(5.000/9.000)*(a-32.000));
return 0;
}
1014: 零基础学C/C++14——输出特殊值
#include
int main (){
printf("%%d");
return 0;
}
1015: 零基础学C/C++15——输出特殊值II
#include
int main (){
printf("\\n");
return 0;
}
1016: 零基础学C/C++16——求2个日期之间的天数
#include
int main (){
int a1,a2,a3,b1,b2,b3;
scanf("%d-%d-%d",&a1,&a2,&a3);
scanf("%d-%d-%d",&b1,&b2,&b3);
printf("%d",b3-a3-1);
return 0;
}
1017: 零基础学C/C++17——求2个时间之间的分钟数
#include
int main(){
int a1,a2,b1,b2;
scanf("%d:%d",&a1,&a2);
scanf("%d:%d",&b1,&b2);
printf("%d",(b1*60+b2)-(a1*60+a2)-1);
return 0;
}
1018: 零基础学C/C++18——三位数反转
#include
int main (){
int a;
scanf("%d",&a);
int s1,s2,s3;
s1=a/100;
s2=(a%100)/10;
s3=(a%100)%10;
printf("%d%d%d",s3,s2,s1);
return 0;
}
1019: 零基础学C/C++19——交换变量
#include
int main (){
int a,b;
scanf("%d%d",&a,&b);
int c;
c=a;
a=b;
b=c;
printf("%d %d",a,b);
return 0;
}
1020: 零基础学C/C++20——求圆柱体的表面积
#include
int main (){
float pi = 3.1415926;
float r,h,area;
scanf("%f%f",&r,&h);
area=2*pi*r*h+2*pi*r*r;
printf("Area=%.3f",area);
return 0;
}
1021: 零基础学C/C++21——求梯形面积
#include
int main(){
float a,b,c;
float s;
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b)*c/2;
printf("%.2f",s);
return 0;
}
1022: 零基础学C/C++22——求正弦和余弦
#include
#include
#define PI 3.1415926
int main(){
int a;
float s,c;
scanf("%d",&a);
s=sin(a*PI/180);
c=cos(a*PI/180);
printf("%.2f\n%.2f",s,c);
return 0;
}
1023: 零基础学C/C++23——AA制
#include
int main(){
int n;
float a1,a2,a3;
scanf("%d",&n);
scanf("%f%f%f",&a1,&a2,&a3);
printf("%.2f",(a1+a2+a3)/n);
return 0;
}
1024: 零基础学C/C++24——判断奇偶数
#include
int main(){
int n;
scanf("%d",&n);
if(n%2==0) printf("even");
else printf("odd");
return 0;
}
1025: 零基础学C/C++25——判断某整数是正整数、负整数还是零
#include
int main(){
int n;
scanf("%d",&n);
if(n>0) printf("+");
else if(n<0) printf("-");
else printf("0");
return 0;
}
1026: 零基础学C/C++26——判断某整数是否既是5又是7的整数倍
#include
int main(){
int n;
scanf("%d",&n);
if(n%5==0 && n%7==0) printf("Yes");
else printf("No");
return 0;
}
1027: 零基础学C/C++27——整除
#include
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a%b==0 && a%c==0) printf("Yes");
else printf("No");
return 0;
}
1028: 零基础学C/C++28—— 求较大的数
#include
int main(){
int a,b;
scanf("%d%d",&a,&b);
int c;
if(a>b) c=a;
else c=b;
printf("%d",c);
return 0;
}
1029: 零基础学C/C++29—— 再求较大的数
#include
int main(){
int a,b,d;
scanf("%d%d%d",&a,&b,&d);
int c;
if(a>b) c=a;
else c=b;
if(c>d)
printf("%d",c);
else printf("%d",d);
return 0;
}
1030: 零基础学C/C++30—— 判断是否直角三角形
#include
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a*a+b*b==c*c ||a*a+c*c==b*b ||b*b+c*c==a*a) printf("yes");
else printf("no");
return 0;
}
1031: 零基础学C/C++31—— 闰年
#include
int main(){
int a;
scanf("%d",&a);
if((a%4==0 && a%100!=0) || a%400==0) printf("Yes");
else printf("No");
return 0;
}
1032: 零基础学C/C++32—— 等级分制度
#include
int main(){
int a,b;
scanf("%d%d",&a,&b);
int sum=1500;
sum=sum+5*a+5*b;
if(sum<1600) printf("D");
else if(sum>=1600 && sum<1700) printf("C");
else if(sum>=1700 && sum<1800) printf("B");
else printf("A");
return 0;
}
1033: 零基础学C/C++33—— 参加程序设计竞赛
#include
int main(){
int a,b;
scanf("%d%d",&a,&b);
if((a<=6 || b<=2) || (a<=20 && b<5) )printf("yes");
else printf("no");
return 0;
}
1034: 零基础学C/C++34—— 3个数比较大小
#include
int main(){
int a,b,c,e;
scanf("%d%d%d",&a,&b,&c);
if(a<b) {
e=a;a=b;b=e;
}
if(a<c) {
e=a;a=c;c=e;
}
if(b<c) {
e=b;b=c;c=e;
}
printf("%d %d %d",a,b,c);
return 0;
}
1035: 零基础学C/C++35—— 输出四位完全平方数
#include
#include
int main()
{
int i,a,b,c,d;
for(i=1000;i<10000;i++)
{
a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i-a*1000-b*100-c*10;
if(a==b&c==d&a!=c&sqrt(i)==(int)sqrt(i))
printf("%d\n",i);
}
return 0;
}
1036: 零基础学C/C++36——逆序输出
#include
#include
int main(){
int a,b,i;
scanf("%d",&a);
b=a;
for(i=1;i<=5;i++){
b=b/10;
if(b<1) break;
}
int c[i];
for(int j=0;j<i;j++){
c[j]=a%10;
a=a/10;
}
printf("%d\n",i);
for(int j=0;j<i;j++) printf("%d",c[j]);
return 0;
}
1037: 零基础学C/C++37——回文数
#include
#include
int main (){
int a;
scanf("%d",&a);
int s[5];
for(int i=0;i<5;i++){
s[i]=a%10;
a=a/10;
}
for(int j=0;j<=2;j++){
if(s[j] != s[4-j]) {printf("No");
break;
}
else {printf("Yes");
break;
}
}
return 0;
}
1038: 零基础学C/C++38——第几天
#include
#include
int main (){
int y,m,d,c=0;
scanf("%d-%d-%d",&y,&m,&d);
for(int i=1;i<m;i++){
c=c+30;
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) c++;
else if(i==2) c=c-2;
}
c=c+d;
if((y%4==0&&y%100!=0)||y%400==0){
if(m>2) c++;
}
printf("%d",c);
return 0;
}
1039: 零基础学C/C++39——求方程的解
#include
#include
int main (){
float a,b,c;
float x1,x2;
scanf("%f%f%f",&a,&b,&c);
float d=b*b-4*a*c;
if(a==0){
if(b==0) printf("No");
else {
x1=-c/b;
printf("%f",x1);
}
}else if(a>0){
if(b*b<4*a*c) printf("No");
else if(b*b==4*a*c) printf("%f",(-b)/(2*a));
else {
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("%f\n%f",x1,x2);
}
}else if(a<0){
if(b*b<4*a*c) printf("No");
else if(b*b==4*a*c) printf("%f",(-b)/(2*a));
else {
x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
printf("%f\n%f",x1,x2);
}
}
return 0;
}
1040: 零基础学C/C++40——鸡兔同笼
#include
#include
int main (){
int n,m,j,t;
scanf("%d%d",&n,&m);
t=(m-2*n)/2;
j=n-t;
if(t<0||j<0||m%2==1) printf("No");
else{
printf("%d %d",j,t);
}
return 0;
}
1041: 零基础学C/C++41—— 求1+2+……+N的和
#include
#include
int main (){
int n,sum=0;
scanf("%d",&n);
for(int i=0;i<=n;i++){
sum=sum+i;
}
printf("sum=%d",sum);
return 0;
}
1042: 零基础学C/C++42——求n的阶乘
#include
#include
int main (){
int n,sum=1;
scanf("%d",&n);
for(int i=1;i<=n;i++){
sum=sum*i;
}
printf("%d",sum);
return 0;
}
1043: 零基础学C/C++43——求多项式
#include
#include
int main (){
int n,sum=0;
scanf("%d",&n);
for(int i=0;i<=n;i++){
if(i%2==0){sum=sum-i;
}else sum=sum+i;
}
printf("%d",sum);
return 0;
}
1044: 零基础学C/C++44——求10个数的平均值
#include
#include
int main (){
int a[10],sum=0;
for(int i=0;i<10;i++){
scanf("%d",&a[i]);
sum=sum+a[i];
}
printf("ave=%.1f",sum/10.0);
return 0;
}
1045: 零基础学C/C++45——N个数找最大和最小
#include
#include
int main (){
int n,max=-1000000,min=1000000;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
if(a[i]>max) max=a[i];
if(a[i]<min) min=a[i];
}
printf("max=%d, min=%d",max,min);
return 0;
}
1046: 零基础学C/C++46——3n+1问题
#include
#include
int main (){
int n,i=0;
scanf("%d",&n);
while(n!=1){
if(n%2==0) n=n/2;
else n=3*n+1;
i++;
}
printf("%d",i);
return 0;
}
1047: 零基础学C/C++47——继续求多项式
#include
#include
int main (){
int n,sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
sum=sum+j;
}
}
printf("%d",sum);
return 0;
}
1048: 零基础学C/C++48——求多项式(含浮点)
#include
#include
int main (){
int n,sum=0;
scanf("%d",&n);
float ans=0;
for(int i=1;i<=n;i++){
if(i%2==1){sum=sum+2*i-1;
}else {sum=sum-2*i+1;
}
ans=ans+1.0/sum;
}
printf("%.2f",ans);
return 0;
}
1049: 零基础学C/C++49——求阶乘和
#include
#include
int main (){
int n,sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
int m=1;
for(int j=1;j<=i;j++){
m=m*j;
}
sum=sum+m;
}
printf("%d",sum);
return 0;
}
1050: 零基础学C/C++50——求最大公约数
#include
#include
int main (){
int a,b,n;
scanf("%d,%d",&a,&b);
if(b>a){int c;
c=a;
a=b;
b=c;
}
for(int i=a;i>=1;i--){
if(a%i==0&&b%i==0) {
printf("%d",i);
break;
}
}
return 0;
}
1051: 零基础学C/C++51——完数
#include
#include
int main (){
int n,sum=0;
scanf("%d",&n);
for(int i=1;i<n;i++){
if(n%i==0){
sum=sum+i;
}
}
if(sum==n) printf("%d is cloze.",n);
else printf("%d is not cloze.",n);
return 0;
}
1052: 零基础学C/C++52——计算数列和2/1,3/2,5/3,8/5…
#include
#include
int main (){
int i,n;
scanf("%d",&n);
float s=0,a,b,c;
a=1;
b=2;
c=a+b;
for(i=1;i<=n;i++){
s=s+b/a;
a=b;
b=c;
c=a+b;
}
printf("s=%.2f",s);
return 0;
}
1053: 零基础学C/C++53——多组测试数据(a+b)
#include
#include
int main (){
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
printf("%d\n",a+b);
}
return 0;
}
1054: 零基础学C/C++54——多组测试数据(a+b)II
#include
#include
int main()
{
int n;
int i,a,b;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
}
return 0;
}
1055: 零基础学C/C++55——多组测试数据(a+b)III
#include
#include
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(a==0 && b==0)
break;
printf("%d\n",a+b);
}
return 0;
}
1056: 零基础学C/C++56——多组测试数据(求和)IV
#include
#include
int main()
{
int n,i,m;
while(scanf("%d",&n)!=EOF && n!=0)
{
int sum=0;
for(i=1;i<=n;i++)
{
scanf("%d",&m);
sum=sum+m;
}
printf("%d\n",sum);
}
return 0;
}
1057: 零基础学C/C++57——多组测试数据输出I
#include
#include
int main()
{
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
printf("%d\n",a+b+c);
}
return 0;
}
1058: 零基础学C/C++58——多组测试数据输出II
#include
#include
int main()
{
int a,b,c,t=0;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
if( t>0) printf("\n");
printf("%d\n",a+b+c);
t++;
}
return 0;
}
1059: 零基础学C/C++59——多组测试数据输出III
#include
#include
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
int m=n/3;
for(int i=1;i<=n;i++){
if(i%3==0){
if(i!=3*m) printf("%d ",i);
else printf("%d\n",i);
}
}
}
return 0;
}
1060: 零基础学C/C++60——求最大值
#include
#include
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int m,a,max=-1000000;
scanf("%d",&m);
for(int j=0;j<m;j++){
scanf("%d",&a);
if(a>max) max=a;
}
printf("%d\n",max);
}
return 0;
}
1061: 零基础学C/C++61——求最小值
#include
#include
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int m,a,max=1000000;
scanf("%d",&m);
for(int j=0;j<m;j++){
scanf("%d",&a);
if(a<max) max=a;
}
printf("%d\n",max);
}
return 0;
}
1062: 零基础学C/C++62——求平均值\
#include
#include
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int m,a,sum=0;
scanf("%d",&m);
for(int j=0;j<m;j++){
scanf("%d",&a);
sum=sum+a;
}
printf("%.2f\n",(float)sum/(float)m);
}
return 0;
}
1063: 零基础学C/C++63——判断是否是素数
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
if(n==1) printf("No\n");
if(n==2) printf("Yes\n");
for(int i=2;i<n;i++){
if(n%i==0) {printf("No\n"); break;}
if(i==n-1) printf("Yes\n");
}
}
return 0;
}
1064: 零基础学C/C++64——高斯定理
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
printf("%d\n",(n+n*n)/2);
}
return 0;
}
1065: 零基础学C/C++65——高斯变例
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
float ans=0;
for(int i=1;i<=n;i++){
int sum=0;
for(int j=1;j<=i;j++){
sum=sum+j;
}
ans=ans+1.0/sum;
}
printf("%.4f\n",ans);
}
return 0;
}
1066: 零基础学C/C++66——你比祖冲之厉害
#include
int main(){
float f;
while(scanf("%f",&f)!=EOF){
float sum=0,pai;
for(int i=1;;i=i+2){
if((i+1)/2%2==1) sum=sum+1.0/i;
else sum=sum-1.0/i;
if(1.0/i<f) break;
if(f==0) break;
}
pai=4.0*sum;
printf("%.4f\n",pai);
}
}
1067: 零基础学C/C++67——阶乘和
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
int sum=0;
for(int i=1;i<=n;i++){
int a=1;
for(int j=1;j<=i;j++){
a=a*j;
}
sum=sum+a;
}
printf("%d\n",sum);
}
return 0;
}....
1068: 零基础学C/C++68——百鸡问题
#include
#include
int main (){
int a1,a2,a3;
for(int i=0;i<=20;i++){
for(int j=0;j<=33;j++){
for(int k=0;k<=100;k=k+3){
if(i+j+k==100 && 5*i+3*j+k/3==100) printf("%d %d %d\n",i,j,k);
}
}
}
return 0;
}
1069: 零基础学C/C++69——猴子吃桃
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
int m=1;
for(int i=1;i<n;i++){
m=(m+1)*2;
}
printf("%d\n",m);
}
return 0;
}
1070: 零基础学C/C++70——绝配队伍
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
int a,b,c;
a=n/100;
b=(n%100)/10;
c=(n%100)%10;
if(a*a*a+b*b*b+c*c*c==n)printf("Yes\n");
else printf("No\n");
}
return 0;
}
1071: 零基础学C/C++71——四叶玫瑰数
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
int a,b,c,d;
a=n/1000;
b=(n%1000)/100;
c=((n%1000)%100)/10;
d=((n%1000)%100)%10;
if(a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d==n)printf("Yes\n");
else printf("No\n");
}
return 0;
}
1072: 零基础学C/C++72——五角星数
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
int a,b,c,d,e;
a=n/10000;
b=(n%10000)/1000;
c=((n%10000)%1000)/100;
d=(((n%10000)%1000)%100)/10;
e=(((n%10000)%1000)%100)%10;
if(a*a*a*a*a+b*b*b*b*b+c*c*c*c*c+d*d*d*d*d+e*e*e*e*e==n)printf("Yes\n");
else printf("No\n");
}
return 0;
}
1073: 零基础学C/C++73——最大公约数和最小公倍数
#include
#include
int main (){
int x,y;
while(scanf("%d%d",&x,&y)!=EOF){
int max,min,m,n;
if(x>y){ m=x;n=y;
}else{ m=y;n=x;
}
for(int i=n;i>=1;i--){
if(x%i==0 && y%i==0){max=i; break;
}
}
for(int j=m;;j++){
if(j%x==0 && j%y==0) {min=j; break;
}
}
printf("%d %d\n",max,min);
}
return 0;
}
1074: 零基础学C/C++74——打印金字塔
#include
#include
void pjzt(int n);
int main (){
int m;
while(scanf("%d",&m)!=EOF){
pjzt(m);
}
return 0;
}
void pjzt(int n){
for(int i=1;i<=n;i++){
for(int j=n-i;j>0;j--) printf(" ");
for(int k=1;k<=2*i-1;k++){
printf("*");
if(k==2*i-1) printf("\n");
}
}
}
1075: 零基础学C/C++75——双层金字塔
#include
#include
void pjzt(int n);
int main (){
int m;
while(scanf("%d",&m)!=EOF){
pjzt(m);
}
return 0;
}
void pjzt(int n){
for(int i=1;i<=n;i++){
for(int j=n-i;j>0;j--) printf(" ");
for(int k=1;k<=2*i-1;k++){
printf("*");
if(k==2*i-1) printf("\n");
}
}
for(int i=n-1;i>=1;i--){
for(int j=1;j<=n-i;j++) printf(" ");
for(int k=1;k<=2*i-1;k++){
printf("*");
if(k==2*i-1) printf("\n");
}
}
}
1076: 零基础学C/C++76——乘法口诀
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
printf("%d*%d=%-2d",j,i,i*j);
if(i!=j) printf(" ");
}
printf("\n");
}
printf("\n");
}
return 0;
}
1077: 零基础学C/C++77——求三角形面积
#include
#include
int main (){
float a,b,c,p;
while(scanf("%f%f%f",&a,&b,&c)!=EOF){
float s=0;
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2f\n",s);
}
return 0;
}
1078: 零基础学C/C++78——求奇数的乘积
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF){
int a[n],s=1;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
if(a[i]%2!=0) s=s*a[i];
}
printf("%d\n",s);
}
return 0;
}
1079: 零基础学C/C++79——平方和与立方和
#include
#include
int main (){
int m,n;
while(scanf("%d%d",&m,&n)!=EOF){
if(m<n){
int v;
v=m;
m=n;
n=v;
}
int x=0,y=0;
for(int i=n;i<=m;i++){
if(i%2==0) x=x+i*i;
else y=y+i*i*i;
}
printf("%d %d\n",x,y);
}
return 0;
}
1080: 零基础学C/C++80——求数列的和
#include
#include
int main (){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF){
float q=n,sum=n;
for(int i=1;i<m;i++){
q=sqrt(q);
sum=sum+q;
}
printf("%.2f",sum);
}
return 0;
}
1081: 零基础学C/C++81——数字菱形
#include
#include
void pn(int n);
int main (){
int n;
while (scanf("%d",&n)!=EOF){
pn(n);
}
return 0;
}
void pn(int n){
for(int i=1;i<=n;i++){
for(int j=n-i;j>0;j--) printf(" ");
int m=n;
for(int k=1;k<=i;k++){
printf("%d",m);
m--;
}
m++;
if(i==1) printf("\n");
for(int k=i+1;k<=2*i-1;k++){
m++;
printf("%d",m);
if(k==2*i-1) printf("\n");
}
}
for(int i=n-1;i>=1;i--){
for(int j=1;j<=n-i;j++) printf(" ");
int m=n;
for(int k=1;k<=i;k++){
printf("%d",m);
m--;
}
m++;
for(int k=i+1;k<=2*i-1;k++){
m++;
printf("%d",m);
if(k==2*i-1) printf("\n");
}
}
}
1082: 零基础学C/C++82——数字菱形II
#include
#include
void pn(int n);
int main (){
int n;
while(scanf("%d",&n)!=EOF) pn(n);
return 0;
}
void pn(int n){
for(int i=1;i<=n;i++){
for(int j=n-i;j>=1;j--) printf(" ");
for(int k=1;k<=2*i-1;k++) {
printf("%d",i);
if(k==2*i-1) printf("\n");
}
}
for(int i=n-1;i>=1;i--){
for(int j=n-i;j>=1;j--) printf(" ");
for(int k=1;k<=2*i-1;k++){
printf("%d",i);
if(k==2*i-1)printf("\n");
}
}
}
1083: 零基础学C/C++83——宁宁的奥数路
#include
int main (){
int m,n,sum;
while(scanf("%d%d%d",&m,&n,&sum)!=EOF){
int a[9]={0},d=0;
a[0]=m/100;a[1]=m%100/10;a[2]=m%100%10;
a[3]=n/100;a[4]=n%100/10;a[5]=n%100%10;
a[6]=sum/100;a[7]=sum%100/10;a[8]=sum%100%10;
for(int i=0;i<8;i++){
for(int j=i+1;j<9;j++){
if(a[i]==a[j]) d=1;
if(a[i]>9 || a[i]<1) d=1;
if(a[8]>9 || a[8]<1) d=1;
}
}
if(m+n==sum && d==0) printf("YES!\n");
else printf("NO!\n");
}
return 0;
}
1084: 零基础学C/C++84——奇偶ASCII值判断
#include
#include
int main (){
char a;
scanf("%c",&a);
if(a%2==0) printf("NO\n");
else printf("YES\n");
return 0;
}
1085: 零基础学C/C++85——完美数
#include
int a[5]={6,28,496,8128,33550336};
int main(){
long long n,m;
while(scanf("%d%d",&n,&m)!=EOF && m!=0 && n!=0)
{
int flag=0;
for(int i=0;i<5;i++)
{
if(a[i]>=n&&a[i]<=m)
{
flag++;
if(flag==1) printf("%d",a[i]);
else printf(" %d",a[i]);
}
}
if(flag) printf("\n");
else printf("No\n");
}
return 0;
}
1086: 零基础学C/C++86——亲和数
#include
int main (){
int a;
scanf("%d",&a);
for(int i=0;i<a;i++){
int m,n;
scanf("%d%d",&m,&n);
int sum1=0,sum2=0;
for(int j=1;j<m;j++){
if(m%j==0) sum1=sum1+j;
}
for(int j=1;j<n;j++){
if(n%j==0) sum2=sum2+j;
}
if(sum1==n && sum2==m) printf("YES\n");
else printf("NO\n");
}
return 0;
}
1087: 零基础学C/C++87——数字菱形III
#include
#include
void pt(int n);
int main (){
int n;
while(scanf("%d",&n)!=EOF){
pt(n);
}
return 0;
}
void pt(int n){
for(int i=1;i<=n;i++){
for(int j=i;j<=n-1;j++) printf(" ");
int k=1;
for(;k<=i;k++) printf("%d",k);
k--;
for(k=k-1;k>=1;k--) printf("%d",k);
if(k==0) printf("\n");
}
for(int i=n-1;i>=1;i--){
for(int j=i;j<=n-1;j++) printf(" ");
int k=1;
for(;k<=i;k++) printf("%d",k);
k--;
for(k=k-1;k>=1;k--) printf("%d",k);
if(k==0) printf("\n");
}
}
1088: 零基础学C/C++88——三个齿轮啮合
#include
int gb(int m,int n,int q);
int main (){
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
if(a==0||b==0||c==0) break;
int e;
e=gb(a,b,c);
printf("%d %d %d\n",e/a,e/b,e/c);
}
return 0;
}
int gb(int m,int n,int q){
int sum;
for(int i=1;;i++){
if(i%m==0 && i%n==0 && i%q==0){
sum=i;
break;
}
}
return sum;
}
1089: 零基础学C/C++89——速算24点
#include
using namespace std;
const int N = 4;
int a[N];
bool flag;
bool dfs(int cnt, int result1, int result2)
{
if(cnt == N - 1)
{
if(result1 + result2 == 24 || result1 - result2 == 24 || result1 * result2 == 24)
flag = true;
if(result2 != 0 && result1 % result2 == 0 && result1 / result2 == 24)
flag = true;
}else if(!flag)
{
dfs(cnt + 1, result1 + result2, a[cnt + 1]);
dfs(cnt + 1, result1 - result2, a[cnt + 1]);
dfs(cnt + 1, result1 * result2, a[cnt + 1]);
if(result2 != 0 && result1 % result2 == 0)
dfs(cnt + 1, result1 / result2, a[cnt + 1]);
dfs(cnt + 1, result1, result2 + a[cnt + 1]);
dfs(cnt + 1, result1, result2 - a[cnt + 1]);
dfs(cnt + 1, result1, result2 * a[cnt + 1]);
if(a[cnt + 1] != 0 && result2 % a[cnt + 1] == 0)
dfs(cnt + 1, result1, result2 / a[cnt + 1]);
}
return false;
}
int main()
{
for(; ;)
{
char s[4];
for(int i = 0; i < N; i++)
{
if(scanf("%s", s) == EOF)
return 0;
if(strlen(s) == 2)
a[i] = 10;
else if(s[0] == 'A')
a[i] = 1;
else if(s[0] == 'J')
a[i] = 11;
else if(s[0] == 'Q')
a[i] = 12;
else if(s[0] == 'K')
a[i] = 13;
else
a[i] = s[0] - '0';
}
sort(a, a + N);
flag = false;
do
{
dfs(1, a[0], a[1]);
if(flag)
break;
}while(next_permutation(a, a + N));
printf("%s\n", flag ? "Yes" : "No");
}
return 0;
}
1090: 零基础学C/C++90——数组输出
#include
#include
int main (){
int t;
scanf("%d",&t);
for(int i=0;i<t;i++)
{
int n;
scanf("%d",&n);
int a[n];
for(int j=0;j<n;j++)
{
scanf("%d",&a[j]);
}
for(int j=0;j<n;j++)
{
printf("%d",a[j]);
if(j==n-1) printf("\n");
else printf(" ");
}
}
return 0;
}
1091: 零基础学C/C++91——逆序输出
#include
int main (){
int t;
scanf("%d",&t);
for(int i=0;i<t;i++)
{
int n;
scanf("%d",&n);
int a[n];
for(int j=0;j<n;j++)
{
scanf("%d",&a[j]);
}
for(int j=0;j<n;j++)
{
printf("%d",a[n-1-j]);
if(j==n-1) printf("\n");
else printf(" ");
}
}
return 0;
}
1092: 零基础学C/C++92——找出数组中最大元素的位置(下标值)
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int max=a[0],xb=0;
for(int i=1;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
xb=i;
}
}
printf("%d %d\n",max,xb);
}
return 0;
}
1093: 零基础学C/C++93——Fibonacci数列
#include
#include
int fb(int n);
int main (){
int t;
scanf("%d",&t);
int a[46];
a[0]=0;
a[1]=1;
for(int i=2;i<=45;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(int i=0;i<t;i++)
{
int m;
scanf("%d",&m);
printf("%d\n",a[m]);
}
return 0;
}
1094: 零基础学C/C++94——数组中查找数
#include
#include
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a[n],x;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&x);
int c=0;
for(int i=0;i<n;i++){
if(x==a[i]) {
printf("%d\n",i);
c=1;
break;
}
}
if(c==0) printf("No\n");
}
return 0;
}
1095: 零基础学C/C++95——数组中删数
#include
#include
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a[n],x;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&x);
int c=-1;
for(int i=0;i<n;i++){
if(x==a[i]) {
c=i;
break;
}
}
for(int i=0;i<n;i++){
if(i==c) continue;
printf("%d",a[i]);
if(i<n-1) printf(" ");
}
printf("\n");
}
return 0;
}
1096: 零基础学C/C++96——数组中删数II
#include
#include
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a[n],x;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&x);
for(int i=0;i<n;i++){
if(a[i]==x) continue;
printf("%d",a[i]);
if(i<n-1) printf(" ");
}
printf("\n");
}
return 0;
}
1097: 零基础学C/C++97——数组中插入一个数
#include
#include
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a[n+1],x,k;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d%d",&x,&k);
for(int i=n-1;i>=0;i--){
if(a[i]>x) a[i+1]=a[i];
else {
a[i+1]=x;
break;
}
if(i==0&&a[0]>x) a[0]=x;
}
for(int i=0;i<=n;i++){
printf("%d",a[i]);
if(i<n) printf(" ");
if(i==n) printf("\n");
if(n>20) break;
}
printf("%d\n",a[k]);
}
return 0;
}
1098: 零基础学C/C++98——打印所有低于平均分的分数
#include
int main (){
int n;
while(~scanf("%d",&n))
{
int a[n],sum=0;
float ave;
for(int i=0;i<n;i++)
{
(void)scanf("%d",&a[i]);
sum=sum+a[i];
}
ave=(float)sum/n;
for(int j=0;j<n;j++)
{
if(a[j]<ave) printf("%d ",a[j]);
}
printf("\n");
}
return 0;
}
1099: 零基础学C/C++99——青年歌手大奖赛_评委会打分
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n];
int max=-1000,min=1000,sum=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
if(a[i]>max) max=a[i];
if(a[i]<min) min=a[i];
}
sum=sum-max-min;
float sco=(float)sum/((float)n-2.0);
printf("%.2f\n",sco);
}
return 0;
}
1100: 零基础学C/C++100——开灯问题
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n+1];
for(int i=0;i<=n;i++) a[i]=0;
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j=j+i)
{
if(a[j]==0) a[j]=1;
else a[j]=0;
}
}
int sum=0;
for(int i=1;i<=n;i++)
{
if(a[i]!=0) sum++;
}
printf("%d\n",sum);
}
return 0;
}
1101: 零基础学C/C++101——最大数与数列最后一个数交换
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n];
int flag=-10,sign;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]>flag)
{
flag=a[i];
sign=i;
}
}
int tp;
tp=a[n-1];
a[n-1]=a[sign];
a[sign]=tp;
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
if(i!=n-1) printf(" ");
else printf("\n");
}
}
return 0;
}
1102: 零基础学C/C++102——最小数与数列第一个数交换
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n];
int flag=10000,sign;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]<flag)
{
flag=a[i];
sign=i;
}
}
int tp;
tp=a[0];
a[0]=a[sign];
a[sign]=tp;
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
if(i!=n-1) printf(" ");
else printf("\n");
}
}
return 0;
}
1103: 零基础学C/C++103——找出一个数组中出现次数最多的那个元素
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[2][n];
for(int i=0;i<n;i++)
{
a[1][i]=0;
scanf("%d",&a[0][i]);
}
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(a[0][i]==a[0][j]) {
a[1][i]++;
a[1][j]++;
}
}
}
int max=0,sign;
for(int i=0;i<n;i++)
{
if(a[1][i]>=max)
{
max=a[1][i];
sign=i;
}
}
printf("%d\n",a[0][sign]);
}
return 0;
}
1104: 零基础学C/C++104——查找某一个数
#include
#include
int main ()
{
int x,n;
while(scanf("%d%d",&x,&n)!=EOF)
{
int a[n],m=-1;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(x==a[i]) m=i;
}
if(m==-1) printf("Not Found\n");
else printf("%d\n",m);
}
return 0;
}
1105: 零基础学C/C++105——元素前移1位
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[0]);
}
return 0;
}
1106: 零基础学C/C++106——进制转换
#include
#include
#include
#include
using namespace std;
int main ()
{
string num="0123456789ABCDEF";
int n,r;
while(cin>>n>>r)
{
string s;
if(n<0) printf("-");
n=abs(n);
while(n)
{
s.insert(s.begin(),num[n%r]);
n=n/r;
}
cout<<s<<endl;
}
return 0;
}
1107: 零基础学C/C++107——插入一个数到数列中
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[10]={0,10,20,30,40,50,60,70,80,0};
for(int i=8;i>=0;i--)
{
if(n<a[i])
{
a[i+1]=a[i];
}
else
{
a[i+1]=n;
break;
}
if(i==0 &&n<a[i]) a[0]=n;
}
for(int i=0;i<10;i++)
{
printf("%d",a[i]);
if(i<9) printf(" ");
if(i==9) printf("\n");
}
}
return 0;
}
1108: 零基础学C/C++108——程序设计竞赛
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1;j++)
{
if(a[j]<a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
if(i<n-1) printf(" ");
if(i==n-1) printf("\n");
}
}
return 0;
}
1109: 零基础学C/C++109——省赛归来
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF && n!=0)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1;j++)
{
if(abs(a[j])<abs(a[j+1]))
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
if(i<n-1) printf(" ");
if(i==n-1) printf("\n");
}
}
return 0;
}
1110: 零基础学C/C++110——N个数从小到大排序
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF && n!=0)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1;j++)
{
if(a[j]<a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=n-1;i>=0;i--)
{
printf("%d",a[i]);
if(i>0) printf(" ");
if(i==0) printf("\n");
}
}
return 0;
}
1111: 零基础学C/C++111——N个数从大到小排序
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF && n!=0)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1;j++)
{
if(a[j]<a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
if(i<n-1) printf(" ");
if(i==n-1) printf("\n");
}
}
return 0;
}
1112: 零基础学C/C++112——偶数排序
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF && n!=0)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1;j++)
{
if(a[j]<a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<n;i++)
{
if(a[i]%2==0)
{
printf("%d",a[i]);
if(i<n-1) printf(" ");
}
if(i==n-1) printf("\n");
}
}
return 0;
}
1113: 零基础学C/C++113——并列排名
#include
#include
int main ()
{
int n;
while(scanf("%d",&n)!=EOF && n!=0)
{
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int m;
scanf("%d",&m);
int sign=1;
for(int i=0;i<n;i++)
{
if(a[i]>m) sign++;
}
printf("%d\n",sign);
}
return 0;
}
1114: 零基础学C/C++114——直接插入排序
#include
int main()
{
int t;
int a[2010];
scanf("%d",&t);
while (t--)
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int count=0;
1115: 零基础学C/C++115——校友捐款
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n],sum=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1;j++)
{
if(a[j]<a[j+1])
{
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("%d %d ",sum,a[0]);
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
if(i<n-1) printf(" ");
if(i==n-1) printf("\n");
}
}
return 0;
}
1116: 零基础学C/C++116——矩阵转置
#include
#include
int main (){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int a[n][m];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
printf("%d",a[j][i]);
if(j<n-1) printf(" ");
if(j==n-1) printf("\n");
}
}
}
return 0;
}
1117: 零基础学C/C++117——输出矩阵
#include
#include
int main (){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int a[n][m],s=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
s++;
a[i][j]=s;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%d",a[i][j]);
if(j<m-1) printf(" ");
if(j==m-1) printf("\n");
}
}
}
return 0;
}
1118: 零基础学C/C++118——弓型矩阵
#include
#include
int main (){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int a[n][m],s=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
s++;
a[i][j]=s;
}
}
for(int i=0;i<n;i++)
{
if(i%2==0)
{
for(int j=0;j<m;j++)
{
printf("%2d",a[i][j]);
if(j<m-1) printf(" ");
if(j==m-1) printf("\n");
}
}else
{
for(int j=m-1;j>=0;j--)
{
printf("%2d",a[i][j]);
if(j>0) printf(" ");
if(j==0) printf("\n");
}
}
}
}
return 0;
}
1119: 零基础学C/C++119——矩阵整理
#include
#include
int main (){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int a[n][m+1];
for(int i=0;i<n;i++)
{
a[i][m]=0;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
a[i][m]=a[i][m]+a[i][j];
}
}
for(int i=0;i<m+1;i++)
{
printf("%d",a[n-1][i]);
if(i<m) printf(" ");
if(i==m) printf("\n");
}
for(int i=1;i<n-1;i++)
{
for(int j=0;j<m+1;j++)
{
printf("%d",a[i][j]);
if(j<m) printf(" ");
if(j==m) printf("\n");
}
}
for(int i=0;i<m+1;i++)
{
printf("%d",a[0][i]);
if(i<m) printf(" ");
if(i==m) printf("\n");
}
}
return 0;
}
1120: 零基础学C/C++120——矩阵对角线求和
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
int sum1=0,sum2=0;
for(int i=0;i<n;i++)
{
sum1=sum1+a[i][i];
}
for(int i=0;i<n;i++)
{
sum2=sum2+a[i][n-1-i];
}
printf("%d %d\n",sum1,sum2);
}
return 0;
}
1121: 零基础学C/C++121——判断是否上三角矩阵
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
int sign=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
{
if(a[i][j]==0) sign++;
}
}
if(sign==(n*n-n)/2) printf("YES\n");
else printf("NO\n");
}
return 0;
}
1122: 零基础学C/C++122——杨辉三角
#include
#include
#include
#include
using namespace std;
int a[30][30]={0};
int main (){
int n;
a[0][0]=1;
a[1][0]=1;
a[1][1]=1;
for(int i=2;i<30;i++)
{
for(int j=0;j<=i;j++)
{
if(j==0||j==i) a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
cout<<a[i][j];
if(j<i) cout<<" ";
if(j==i) cout<<endl;
}
if(i==n-1) cout<<endl;
}
}
return 0;
}
1123: 零基础学C/C++123——矩阵鞍点
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
int max,signi,signj,s=0,d;
for(int i=0;i<n;i++)
{
max=a[i][0];
signi=i;
signj=0;
for(int j=0;j<n;j++)
{
if(a[i][j]>=max)
{
max=a[i][j];
signi=i;
signj=j;
}
}
d=0;
for(int k=0;k<n;k++)
{
if(a[k][signj]<a[signi][signj]) d=1;
}
if(d==0)
{
printf("%d %d\n",signi,signj);
s=1;
}
}
if(s==0) printf("NO\n");
}
return 0;
}
1124: 零基础学C/C++124——海选女主角
#include
#include
int main (){
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
int a[m][n];
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
int s=a[0][0],x=0,y=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(abs(a[i][j])>abs(s))
{
s=a[i][j];
x=i;
y=j;
}
}
}
printf("%d %d %d\n",x+1,y+1,s);
}
return 0;
}
1125: 零基础学C/C++125——矩阵乘积
#include
#include
int main (){
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
int a[m][n],b[n][m],c[m][m];
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++)
{
c[i][j]=0;
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",&b[i][j]);
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++)
{
for(int k=0;k<n;k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++)
{
printf("%d",c[i][j]);
if(j<m-1) printf(" ");
if(j==m-1) printf("\n");
}
}
}
return 0;
}
1126: 零基础学C/C++126——回型矩阵
#include
#include
int main (){
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
int a[m][n];
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
a[i][j]=0;
}
}
a[0][0]=1;
int x=0,y=1;
for(int i=2;i<=m*n;i++)
{
a[x][y]=i;
if(a[x][y]==a[x][y-1]+1 && y+1<n && a[x][y+1]==0) {y++;continue;}
else if(a[x][y]==a[x][y-1]+1 && (y+1<=n || a[x][y+1]!=0)) {x++;continue;}
if(a[x][y]==a[x-1][y]+1 && x+1<m && a[x+1][y]==0) {x++;continue;}
else if(a[x][y]==a[x-1][y]+1 && (x+1<=m || a[x+1][y]!=0)){y--;continue;}
if(a[x][y]==a[x][y+1]+1 && y>=0 && a[x][y-1]==0) {y--;continue;}
else if(a[x][y]==a[x][y+1]+1 && (y>=0 || a[x][y-1]!=0)){x--;continue;}
if(a[x][y]==a[x+1][y]+1 && x>=0 && a[x-1][y]==0) {x--;continue;}
else if(a[x][y]==a[x+1][y]+1 && (x>=0 || a[x-1][y]!=0)){y++;continue;}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
printf("%2d",a[i][j]);
if(j<n-1) printf(" ");
if(j==n-1) printf("\n");
}
}
}
return 0;
}
1127: 零基础学C/C++127——矩阵下三角元素之和
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
int sum=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
sum=sum+a[i][j];
}
}
printf("%d\n",sum);
}
return 0;
}
1128: 零基础学C/C++128——矩阵计算
#include
#include
#include
using namespace std;
int main()
{
int r,c,r1,c1;
int a[100][100],b[100][100],ans[100][100];
int t;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(ans,0,sizeof(ans));
cin>>t;
while (t--)
{
cin>>r>>c;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cin>>a[i][j];
}
}
cin>>r1>>c1;
for(int i=0;i<r1;i++)
{
for(int j=0;j<c1;j++)
{
cin>>b[i][j];
}
}
string ys;
while(cin>>ys&&ys!="end")
{
if(ys=="-")
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
ans[i][j]=a[i][j]-b[i][j];
}
}
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cout<<ans[i][j];
if(j!=c-1) cout<<" ";
}
cout<<endl;
}
cout<<endl;
}else if(ys=="+")
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
ans[i][j]=a[i][j]+b[i][j];
}
}
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cout<<ans[i][j];
if(j!=c-1) cout<<" ";
}
cout<<endl;
}
cout<<endl;
}else if(ys=="=")
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
a[i][j]=b[i][j];
}
}
}else if(ys=="*")
{
memset(ans,0,sizeof(ans));
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
for(int k=0;k<r;k++)
{
ans[i][j]+=a[i][k]*b[k][j];
}
}
}
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cout<<ans[i][j];
if(j!=c-1) cout<<" ";
}
cout<<endl;
}
cout<<endl;
}
}
}
return 0;
}
1129: 零基础学C/C++129——蛇行矩阵
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
a[i][j]=0;
}
}
int x=0,y=0;
for(int i=1;i<=(1+n)*n/2;i++)
{
a[x][y]=i;
if(x-1>=0&&y+1<n)
{
x--;
y++;
continue;
}
if(x-1<0&&y+1<n)
{
x=y+1;
y=0;
continue;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=0)
{
printf("%d",a[i][j]);
if(a[i][j+1]!=0 &&i+1<n&&j+1<n) printf(" ");
}
if(j==n-1) printf("\n");
}
}
}
return 0;
}
1130: 零基础学C/C++130——二维数组右上角乘以x
#include
#include
int main (){
int n,x;
while(scanf("%d%d",&n,&x)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<n;i++)
{
for(int j=i;(j>=i&&j<n);j++)
{
a[i][j]=a[i][j]*x;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d",a[i][j]);
if(j<n-1) printf(" ");
if(j==n-1) printf("\n");
}
}
}
return 0;
}
1131: 零基础学C/C++131——二维数组左下角置0
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
a[i][j]=0;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d",a[i][j]);
if(j<n-1) printf(" ");
if(j==n-1) printf("\n");
}
}
}
return 0;
}
1132: 零基础学C/C++132——边界均值
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
int sum=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i-1<0||j-1<0||i+1==n||j+1==n) sum=sum+a[i][j];
}
}
float ave=(float)sum/(float)(4*n-4);
printf("%.2f\n",ave);
}
return 0;
}
1133: 零基础学C/C++133——矩阵A+A’
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n],b[n][n],c[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
b[i][j]=a[j][i];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
c[i][j]=a[i][j]+b[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d",c[i][j]);
if(j<n-1) printf(" ");
if(j==n-1) printf("\n");
}
}
}
return 0;
}
1134: 零基础学C/C++134——对称矩阵
#include
#include
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[n][n],b[n][n],c[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
b[i][j]=a[j][i];
}
}
int flag=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[i][j]) flag=1;
}
}
if(flag==0) printf("Yes\n");
else printf("No\n");
}
return 0;
}
1135: 零基础学C/C++135——稀疏矩阵
#include
#include
using namespace std;
int a[1001][1001];
int main ()
{
int n,m;
float d;
while (cin>>n>>m>>d)
{
int sum0=n*m,sum1=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>a[i][j];
if(a[i][j]!=0) sum1++;
}
}
float ans=(float)sum1/(float)sum0;
if(ans>=d)
{
cout<<n<<" "<<m<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<a[i][j];
if(j<m-1) cout<<" ";
if(j==m-1) cout<<endl;
}
}
}else
{
cout<<n<<" "<<m<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(a[i][j]!=0)
{
cout<<i<<" "<<j<<" "<<a[i][j]<<endl;
}
}
}
}
}
return 0;
}
1136: 零基础学C/C++136——反话连篇
#include
#include
#include
using namespace std;
int main()
{
char a[101];
while (gets(a)!=NULL)
{
int m=strlen(a);
for(int i=m-1;i>=0;i--)
{
printf("%c",a[i]);
if(i==0) printf("\n");
}
}
return 0;
}
1137: 零基础学C/C++137——统计字母数字等个数
#include
#include
#include
#include
using namespace std;
int main (){
char a[101];
while(gets(a)!=NULL)
{
int zm=0,num=0,kg=0,ot=0;
int m=strlen(a);
for(int i=0;i<m;i++)
{
if(a[i]>=65&&a[i]<=90) zm++;
else if(a[i]>=97&&a[i]<=122) zm++;
else if(a[i]>=48&&a[i]<=57) num++;
else if(a[i]==32) kg++;
else ot++;
}
cout<<zm<<" "<<num<<" "<<kg<<" "<<ot<<endl;
}
return 0;
}
1138: 零基础学C/C++138——查找最大元素
#include
#include
#include
#include
using namespace std;
bool cmp(char a,char b)
{
return a>b;
}
int main()
{
char a[101],b[101];
while (gets(a)!=NULL)
{
int m=strlen(a);
for(int i=0;i<m;i++)
{
b[i]=a[i];
}
sort(b,b+m,cmp);
for(int i=0;i<m;i++)
{
if(a[i]==b[0]) printf("%c(max)",a[i]);
else printf("%c",a[i]);
if(i==m-1) printf("\n");
}
}
return 0;
}
1139: 零基础学C/C++139——Yes,I can!
#include
#include
#include
using namespace std;
int main (){
char a[10];
gets(a);
cout<<"I am "<<a<<",yes,I can!";
return 0;
}
1140: 零基础学C/C++140——统计元音
#include
#include
int main (){
int n;
scanf("%d\n",&n);
for(int i=0;i<n;i++)
{
char a[100]={0},num[5]={0};
gets(a);
for(int i=0;i<100;i++)
{
if(a[i]=='a') num[0]++;
if(a[i]=='e') num[1]++;
if(a[i]=='i') num[2]++;
if(a[i]=='o') num[3]++;
if(a[i]=='u') num[4]++;
}
printf("a:%d\n",num[0]);
printf("e:%d\n",num[1]);
printf("i:%d\n",num[2]);
printf("o:%d\n",num[3]);
printf("u:%d\n",num[4]);
if(i<n-1) printf("\n");
}
return 0;
}
1141: 零基础学C/C++141——回文串
#include
#include
#include
int main (){
char a[80];
while(scanf("%s",a)!=EOF)
{
int m=strlen(a),sign=1;
for(int i=0;i<=(m+1)/2;i++)
{
if(a[i]!=a[m-1-i]) sign=0;
}
if(sign) printf("Yes\n");
else printf("No\n");
}
return 0;
}
1142: 零基础学C/C++142——单数变复数
#include
#include
int main (){
int n,m;char a[100];
scanf("%d\n",&n);
for(int i=0;i<n;i++)
{
scanf("%s",a);
m=strlen(a);
if(a[m-1]=='y'||a[m-1]=='s'||a[m-1]=='x'||a[m-1]=='o') printf("%ses\n",a);
else if(a[m-1]=='h'&&(a[m-2]=='c'||a[m-2]=='s')) printf("%ses\n",a);
else printf("%ss\n",a);
}
return 0;
}
1143: 零基础学C/C++143——绝对公正的裁判
#include
#include
#include
#include
int main (){
int t;
scanf("%d",&t);
char a[5];
getchar();
for(int i=0;i<t;i++)
{
scanf("%s",&a);
if(strcmp(a,"AC") == 0) printf("Accepted\n");
if(strcmp(a,"PE") == 0) printf("Presentation Error\n");
if(strcmp(a,"WA") == 0) printf("Wrong Answer\n");
if(strcmp(a,"RE") == 0) printf("Runtime Error\n");
if(strcmp(a,"TLE") == 0) printf("Time Limit Exceeded\n");
if(strcmp(a,"MLE") == 0) printf("Memory Limit Exceeded\n");
if(strcmp(a,"OLE") == 0) printf("Output Limit Exceeded\n");
if(strcmp(a,"CE") == 0) printf("Compilation Error\n");
}
return 0;
}
1144: 零基础学C/C++144——首字母变大写
#include
#include
#include
#include
int main ()
{
char s[105];
while(gets(s)!=NULL)
{
if(s[0]>='a'&&s[0]<='z')
s[0]=s[0]-32;
for(int i=1;i<105;i++)
{
if(s[i]==' '&&s[i+1]!=' '&&s[i+1]>='a'&&s[i+1]<='z') s[i+1]=s[i+1]-32;
}
puts(s);
}
return 0;
}
1145: 零基础学C/C++145——进制转换II
#include
#include
#include
#include
using namespace std;
int main ()
{
int t;
int a[4];
int flag;
string ans="0123456789ABCDEF";
cin>>t;
while (t--)
{
string num;
cin>>num;
int l=num.size();
if(l%4)
{
for(int i=l%4;i<4;i++)
{
num.insert(num.begin(),'0');
}
}
l=num.size();
string s;
for(int i=0;i<l;i=i+4)
{
if(num[i]=='0') a[0]=0;
else a[0]=1;
if(num[i+1]=='0') a[1]=0;
else a[1]=1;
if(num[i+2]=='0') a[2]=0;
else a[2]=1;
if(num[i+3]=='0') a[3]=0;
else a[3]=1;
flag=a[0]*8+a[1]*4+a[2]*2+a[3]*1;
s.insert(s.end(),ans[flag]);
}
cout << s << endl;
}
return 0;
}
1146: 零基础学C/C++146——C语言合法标识符
#include
#include
#include
#include
using namespace std;
int main ()
{
int n;
while(scanf("%d",&n)!=EOF)
{
getchar();
for(int i=0;i<n;i++)
{
char a[51];
int flag=1;
gets(a);
int m=strlen(a);
for(int j=0;j<m;j++)
{
if (j==0)
{
if(((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z'))||a[0]=='_') ;
else flag=0;
}
else
{
if(((a[j]>='a'&&a[j]<='z')||(a[j]>='A'&&a[j]<='Z'))||(a[j]=='_')||(a[j]>='0'&&a[j]<='9')) ;
else flag=0;
}
}
if(flag) printf("yes\n");
else printf("no\n");
}
}
return 0;
}
1147: 零基础学C/C++147——统计每个字母个数
#include
#include
#include
using namespace std;
int main()
{
char s[101];
while(gets(s)!=NULL)
{
int a[27]={0};
int m=strlen(s);
for(int i=0;i<m;i++)
{
if(s[i]-64>=1&&s[i]-64<=26)
a[s[i]-64]++;
if(s[i]-96>=1&&s[i]-96<=26)
a[s[i]-96]++;
}
for(int i=1;i<=26;i++)
{
if(a[i]!=0) printf("%c: %d\n",'a'-1+i,a[i]);
}
printf("\n");
}
}
1148: 零基础学C/C++148——字符串整理
#include
#include
#include
using namespace std;
int main()
{
char s[101];
while(gets(s)!=NULL)
{
int m=strlen(s);
for(int i=0;i<m;i++)
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) printf("%c",s[i]);
}
printf("\n");
}
return 0;
}
1149: 零基础学C/C++149——重组字符串
#include
#include
#include
#include
using namespace std;
int main ()
{
char a[81];
gets(a);
int m=strlen(a);
sort(a,a+m);
puts(a);
}
1150: 零基础学C/C++150——统计元音字母数
#include
#include
#include
#include
using namespace std;
int main ()
{
char s[81];
gets(s);
int m=strlen(s);
int a[5]={0};
for(int i=0;i<m;i++)
{
if(s[i]=='a'||s[i]=='A') a[0]++;
else if(s[i]=='e'||s[i]=='E') a[1]++;
else if(s[i]=='i'||s[i]=='I') a[2]++;
else if(s[i]=='o'||s[i]=='O') a[3]++;
else if(s[i]=='u'||s[i]=='U') a[4]++;
}
printf("%d\n%d\n%d\n%d\n%d\n",a[0],a[1],a[2],a[3],a[4]);
return 0;
}
1151: 零基础学C/C++151——检索大写字母
#include
#include
#include
#include
using namespace std;
int main ()
{
char s[500];
while (gets(s)!=NULL)
{
int m=strlen(s);
for(int i=0;i<m;i++)
{
int flag=0;
if(s[i]>='A'&&s[i]<='Z')
{
for(int j=0;j<i;j++)
{
if(s[i]==s[j]) flag=1;
}
}
if((s[i]>='A'&&s[i]<='Z')&&flag==0)
{
printf("%c ",s[i]);
}
if(i==m-1) printf("\n");
}
}
return 0;
}
1152: 零基础学C/C++152——统计单词个数
#include
#include
#include
#include
#include
using namespace std;
int main ()
{
char s[85];
while (gets(s)!=NULL)
{
int num=0;
int l=strlen(s);
for(int i=0;i<l;i++)
{
if(isalpha(s[i]))
{
if(isalpha(s[i+1])==0) num++;
}
}
cout << num<<endl;
}
return 0;
}
1153: 零基础学C/C++153——恺撒加密
#include
#include
#include
#include
int main (){
char a[1000];
while(gets(a)!=NULL)
{
int m=strlen(a);
for(int i=0;i<m;i++)
{
if(a[i]<='U' && a[i]>='A') { a[i]=a[i]+5;continue;}
if(a[i]<='Z' && a[i]>='V') { a[i]=a[i]-21;continue;}
if(a[i]<='u' && a[i]>='a') { a[i]=a[i]+5;continue;}
if(a[i]<='z' && a[i]>='v') { a[i]=a[i]-21;continue;}
}
printf("%s\n",a);
}
return 0;
}
1154: 零基础学C/C++154——加密程序2
#include
#include
#include
#include
int main (){
char a[1000];
while(gets(a)!=NULL)
{
int m=strlen(a);
for(int i=0;i<m;i++)
{
if(a[i]>='A' && a[i]<='Z') { a[i]='A'+'Z'-a[i];continue;}
}
printf("%s\n",a);
}
return 0;
}
1155: 零基础学C/C++155——句子比较大小
#include
#include
#include
using namespace std;
int main()
{
string str[20],c;
int N;
while(cin>>N)
{
getline(cin,c);
for(int i=0;i<N;i++) getline(cin,str[i]);
sort(str,str+N);
for(int i=0;i<N;i++) cout<<str[i]<<endl;
cout<<endl;
}
}
1156: 零基础学C/C++156——删除前导*
#include
#include
#include
#include
using namespace std;
int main ()
{
char a[81];
while(gets(a)!=NULL)
{
int m;
int n=strlen(a);
for(int i=0;i<n;i++)
{
if(a[i]!='*')
{
m=i;
break;
}
}
for(int i=m;i<n;i++)
printf("%c",a[i]);
printf("\n");
}
return 0;
}
1157: 零基础学C/C++157——保留尾部*
#include
#include
#include
#include
using namespace std;
int main ()
{
char a[81];
while(gets(a)!=NULL)
{
int n=strlen(a);
for(int i=0;i<n;i++)
{
if(a[i]=='*')
{
int flag=0;
for(int j=i;j<n-1;j++)
{
if(a[j]!='*') flag=1;
}
if(flag)
{
flag=0;
continue;
}
}
printf("%c",a[i]);
}
printf("\n");
}
return 0;
}
1158: 零基础学C/C++158——删除中间的*
#include
#include
#include
#include
using namespace std;
int main ()
{
char a[81];
while(gets(a)!=NULL)
{
int n=strlen(a);
for(int i=0;i<n;i++)
{
if(a[i]!='*') break;
else printf("%c",a[i]);
}
for(int i=0;i<n;i++)
{
if(a[i]=='*')
{
int flag=0;
for(int j=i;j<n-1;j++)
{
if(a[j]!='*') flag=1;
}
if(flag)
{
flag=0;
continue;
}
}
printf("%c",a[i]);
}
printf("\n");
}
return 0;
}
1159: 零基础学C/C++159——最长字符串
#include
int main()
{
int n;
while (scanf("%d",&n)!=EOF)
{
int a[n];
char s[n][51];
for(int i=0;i<n;i++)
{
scanf("%s",&s[i]);
a[i]=strlen(s[i]);
}
int max=0,flag;
for(int i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
flag=i;
}
}
puts(s[flag]);
}
return 0;
}
1160: 零基础学C/C++160——字符串
#include
#include
int main()
{
char a[1000000],b[1000000];
while(scanf("%s",a)!=EOF){
int i=0,j;
while(a[i]!='#')i++;
i++;
for(j=i;a[j]!='#';j++){
b[j-i]=a[j];
}
b[j-i]='\0';
a[i-1]='\0';
for(i=0;b[i]!='\0';i++){
if(strchr(a,b[i])==NULL){
printf("No\n");
break;
}
}if(i==strlen(b)){
printf("Yes\n");
}
}
return 0;
}
1161: 零基础学C/C++161——求阶乘的函数
#include
int jc(int n)
{
int sum=1;
for(int i=1;i<=n;i++)
{
sum=sum*i;
}
return sum;
}
int main ()
{
int n;
while (scanf("%d",&n)!=EOF&&n>0)
printf("%d\n",jc(n));
return 0;
}
1162: 零基础学C/C++162——求阶乘和
#include
long long jc(int n)
{
long long sum=1;
for(int i=1;i<=n;i++)
{
sum=sum*i;
}
return sum;
}
int main ()
{
int n;
while (scanf("%d",&n)!=EOF&&n>0)
{
long long ans=0;
for(int i=1;i<=n;i++)
{
ans=ans+jc(i);
}
printf("%lld\n",ans);
}
return 0;
}
1163: 零基础学C/C++163——判断是否是素数的函数
#include
int prime(int n)
{
if(n==1) return 0;
else if(n==2) return 1;
else {
for(int i=2;i<n;i++)
{
if(n%i==0) return 0;
}
return 1;
}
}
int main ()
{
int n;
while (scanf("%d",&n)!=EOF&&n>0)
{
if(prime(n)) printf("Yes\n");
else printf("No\n");
}
return 0;
}
1164: 零基础学C/C++164——素数判定
#include
int pr(int n)
{
if(n==1) return 0;
if(n==2) return 1;
for(int i=2;i<n;i++)
{
if(n%i==0) return 0;
}
return 1;
}
int main()
{
int x,y;
while (scanf("%d%d",&x,&y)!=EOF&&!(x==0&&y==0))
{
int flag=1;
for(int i=x;i<=y;i++)
{
if(!pr(i*i+i+41)) flag=0;
}
if(flag) printf("Ok\n");
else printf("Sorry\n");
}
}
1165: 零基础学C/C++165——输出素数
#include
int pr(int n)
{
if(n==1) return 0;
if(n==2) return 1;
for(int i=2;i<n;i++)
{
if(n%i==0) return 0;
}
return 1;
}
int main()
{
int x,y;
while (scanf("%d%d",&x,&y)!=EOF&&!(x==0&&y==0))
{
int flag=0;
for(int i=x;i<=y;i++)
{
if(pr(i))
{
flag++;
}
}
int sign=1;
for(int i=x;i<=y;i++)
{
if(pr(i))
{
printf("%d",i);
if(sign<flag) printf(" ");
if(sign==flag) printf("\n");
sign++;
}
}
}
}
1166: 零基础学C/C++166——求组合数
#include
int jc(int n)
{
int sum=1;
for(int i=1;i<=n;i++)
{
sum=sum*i;
}
return sum;
}
int main()
{
int n,m;
while (scanf("%d%d",&n,&m)!=EOF)
{
int ans=jc(n)/(jc(m)*jc(n-m));
printf("%d\n",ans);
}
return 0;
}
1167: 零基础学C/C++167——判断是否完数
#include
#include
#include
#include
using namespace std;
bool ws(int x);
int main ()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=n;i<=m;i++)
{
bool flag=0;
if(ws(i))
{
if(flag) printf(" ");
printf("%d",i);
flag=1;
}
if(i==m) printf("\n");
}
return 0;
}
bool ws(int x)
{
int sum=0;
for(int i=1;i<x;i++)
{
if(x%i==0) sum=sum+i;
}
if(sum==x) return 1;
else return 0;
}
1168: 零基础学C/C++168——统计数字
#include
#include
int countdigit(long long number,int digit);
int main(void)
{
long long m;
int n,ans;
while(scanf("%lld%d",&m,&n)!=EOF)
{
printf("%d\n",countdigit(m,n));
}
return 0;
}
int countdigit(long long number,int digit)
{
int sign=0;
long long s1=number,s2=number;
while(s1>0)
{
s1=s1/10;
sign++;
}
int a[sign],sg=0;
for(int i=0;i<sign;i++)
{
a[i]=s2%10;
s2=s2/10;
if(a[i]==digit) sg++;
}
if(number==0&& digit==0) return 1;
else return sg;
}
1169: 零基础学C/C++169——调用函数,求三个数中最大数
#include
#include
#include
#include
using namespace std;
int max(int x,int y);
int main ()
{
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
int m;
m=max(a,b);
m=max(m,c);
printf("%d\n",m);
}
return 0;
}
int max(int x,int y)
{
if(x>y)
return x;
else return y;
}
1170: 零基础学C/C++170——输出学生信息
#include
int main()
{
char name[40];
char sex;
int age;
float av;
scanf("%s %c %d %f",&name,&sex,&age,&av);
printf("%s %c %d %.1f\n",name,sex,age,av);
return 0;
}
1171: 零基础学C/C++171——年龄排序
#include
#include
#include
using namespace std;
struct student
{
char name[50];
char sex[10];
int year;
int month;
float s;
};
bool cmp(student a,student b)
{
return a.s>b.s;
}
int main ()
{
int n;
scanf("%d",&n);
struct student stu[n];
for(int i=0;i<n;i++)
{
scanf("%s%s%d%d",&stu[i].name,&stu[i].sex,&stu[i].year,&stu[i].month);
stu[i].s=(float)stu[i].year+(float)stu[i].month/12.0;
}
sort(stu,stu+n,cmp);
for(int i=0;i<n;i++)
{
printf("%s %s %d %d\n",stu[i].name,stu[i].sex,stu[i].year,stu[i].month);
}
return 0;
}
1172: 零基础学C/C++172——猴子选大王
#include
int main()
{
int n,k;
int sum=0,s;
int a[1001]={1};
while (scanf("%d%d",&n,&k)!=EOF)
{
for(int i=0;i<n;i++)
{
a[i]=0;
}
s=n;
while(s!=1)
{
for(int i=0;i<n;i++)
{
if(a[i]==0) sum++;
if(sum==k)
{
a[i]=1;
sum=0;
s--;
}
}
}
for(int i=0;i<n;i++)
{
if(a[i]==0) printf("%d\n",i+1);
}
}
return 0;
}
1173: 零基础学C/C++173——桌面窗体重叠
#include
#include
using namespace std;
int main ()
{
int h[4];
int l[4];
scanf("%d%d%d%d",&h[0],&h[1],&l[0],&l[1]);
scanf("%d%d%d%d",&h[2],&h[3],&l[2],&l[3]);
if(h[1]<=h[2] || h[0]>=h[3] || l[1]<=l[2] || l[0]>=l[3]) cout<<"0"<<endl;
else
{
sort(h,h+4);
sort(l,l+4);
long long s=(h[2]-h[1])*(l[2]-l[1]);
cout<<s<<endl;
}
return 0;
}
1174: 零基础学C/C++174——作业统计
#include
int main()
{
int n;
scanf("%d",&n);
int a[n][3];
for(int i=0;i<n;i++)
{
for(int j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
int sum1=0,sum2=0,sum3=0;
for(int i=0;i<n;i++)
{
sum1=sum1+a[i][0];
sum2=sum2+a[i][1];
sum3=sum3+a[i][2];
}
sum2=sum2+sum3/60;
sum3=sum3%60;
sum1=sum1+sum2/60;
sum2=sum2%60;
printf("%dhour %dminute %dsecond\n",sum1,sum2,sum3);
return 0;
}
1175: 零基础学C/C++175——身高问题
#include
#include
#include
using namespace std;
struct student
{
char name[50];
int hign;
int num;
};
bool cmp(student a,student b)
{
return a.hign>b.hign;
}
int main ()
{
int n;
scanf("%d",&n);
struct student stu[n];
for(int i=0;i<n;i++)
{
scanf("%s%d%d",&stu[i].name,&stu[i].hign,&stu[i].num);
}
sort(stu,stu+n,cmp);
int max=290999990,p;
for(int i=0;i<n;i++)
{
if(stu[i].hign==stu[0].hign && stu[i].num<max)
{
max=stu[i].hign;
p=i;
}
}
printf("%s %d %d\n",stu[p].name,stu[p].hign,stu[p].num);
return 0;
}
1176: 零基础学C/C++176——生日相同问题
#include
#include
#include
#include
#include
using namespace std;
struct student
{
char name[25];
int month;
int day;
string s;
int num;
int l;
}stu[200];
bool cmp(student a,student b)
{
if(a.month>b.month) return 0;
if(a.month<b.month) return 1;
if(a.day>b.day) return 0;
if(a.day<b.day) return 1;
if(a.l>b.l) return 0;
if(a.l<b.l) return 1;
if(a.s>b.s) return 0;
if(a.s<b.s) return 1;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%s%d%d",stu[i].name,&stu[i].month,&stu[i].day);
stu[i].l=strlen(stu[i].name);
for(int j=0;j<stu[i].l;j++)
{
stu[i].s+=stu[i].name[j];
}
}
sort(stu,stu+n,cmp);
for(int i=1;i<n;i++)
{
if(stu[i].month==stu[i-1].month&&stu[i].day==stu[i-1].day)
{
stu[i].num=1;
stu[i-1].num=1;
}else stu[i].num=0;
}
int what=0;
for(int i=0;i<n;i++)
{
if(stu[i].num==1)
{
what=1;
int m=stu[i].month;
int d=stu[i].day;
printf("%d %d",m,d);
for(int j=i;;j++)
{
if(stu[j].month==m&&stu[j].day==d)
{
printf(" %s",stu[j].name);
i++;
}else
{
i--;
break;
}
}
printf("\n");
}
}
if(!what) printf("None\n");
return 0;
}
1177: 零基础学C/C++177——集合运算
#include "bits/stdc++.h"
using namespace std;
struct tset{
bool set[26];
void input()
{
string s;
cin >> s;
memset(set,false,sizeof(set));
for(int i = 0; i < s.size(); i++)
set[s[i] - 'a'] = true;
}
void output()
{
for(int i = 0; i < 26; i++)
if(set[i]) cout << char(i + 'a');
cout << endl;
}
tset operator + (const tset x) const
{
tset tmp;
for(int i = 0; i < 26; i++)
tmp.set[i] = set[i] || x.set[i];
return tmp;
}
tset operator - (const tset x) const
{
tset tmp;
for(int i = 0; i < 26; i++)
tmp.set[i] = set[i] && (!x.set[i]);
return tmp;
}
tset operator * (const tset x) const
{
tset tmp;
for(int i = 0; i < 26; i++)
tmp.set[i] = set[i] && x.set[i];
return tmp;
}
};
int n;
tset a,b,c;
char op;
int main(){
cin >> n;
for(int i = 0; i < n; i++){
a.input();
cin >> op;
b.input();
if(op == '+') c = a + b;
else if(op == '-') c = a - b;
else if(op == '*') c = a * b;
c.output();
}
return 0;
}
1178: 零基础学C/C++178——成绩统计
#include
int main ()
{
int n,g[1100],count,sum;
char a[1100],b[1100];
scanf("%d",&n);
while(scanf("%d",&n)!=EOF)
{
count=0;
sum=0;
for(int i=1;i<=n;i++)
{
scanf("%s",&a[i]);
if(a[i]=='C')
{
gets(b);
}
else
{
scanf("%d",&g[i]);
sum+=g[i];
count++;
}
}
printf("%d %d\n",n-count,sum/count);
}
return 0;
}
1179: 零基础学C/C++179——注册账号
#include
#include
#include
#include
#include
#include
using namespace std;
int n,m,w,ave;
long long sum,num,qq;
char id[18];
int main()
{
char type;
m=0;w=0;
sum=0;ave=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>type;
if(type=='i')
{
for(int j=0;j<18;j++) cin>>id[j];
if((id[16]-'0')%2==0) w++;
else m++;
}else if(type=='q')
{
cin>>qq;
ave++;
sum+=qq;
}
}
if(ave!=0) ave=sum/ave;
printf("%d %d %lld\n",m,w,ave);
return 0;
}
1180: 零基础学C/C++180——数字变化
#include
int main ()
{
int m,n;
scanf("%d%d",&m,&n);
int *p;
if(m>n) p=&n;
else p=&m;
printf("%d\n",(*p)*2);
return 0;
}
1181: 零基础学C/C++181——猜拳
#include
int main ()
{
int m,n;
while (scanf("%d%d",&m,&n)!=EOF)
{
if(m==n+1||m==n-2)
{
printf("lose\n");
}else if(m==n)
{
printf("tie\n");
}else printf("win\n");
}
return 0;
}
1182: 零基础学C/C++182——墨汁
#include
int main ()
{
int m,n;
while (scanf("%d%d",&m,&n)!=EOF)
{
int sum=m;
while(m>=n)
{
sum=sum+m/n;
m=m%n+m/n;
}
if(m==n-1) sum++;
printf("%d\n",sum);
}
return 0;
}
1183: 零基础学C/C++183——数组逆序
#include
int main ()
{
int n;
scanf("%d",&n);
int a[n];
int *p;
p=a;
for(int i=0;i<n;i++)
{
scanf("%d",p);
p++;
}
p--;
for(int i=0;i<n;i++)
{
printf("%d",*p);
if(i<n-1) printf(" ");
if(i==n-1) printf("\n");
p--;
}
return 0;
}
1184: 零基础学C/C++184——吉祥数
#include
#include
int all;
int pd(int n,int t)
{
int num,pd=0,s;all=0;
while(n!=0)
{
s=n%10;
num=pow(s,t);
all=all+num;
n=n/10;
}
return all;
}
int a[300],b[300],c[300],d[300];
int main()
{
int i,n,x,t,m,s,j,pos;
scanf("%d\n",&n);
i=0;
while(scanf("%d",&m)!=EOF)
{
a[i]=m;
i++;
}
for(t=0;t<300;t++)
{
b[t]=1;d[t]=1;
}
for(t=1;t<=n;t++)
{
for(x=0;x<i;x++)
{
if(b[a[x]]==1)
{
pd(a[x],t+1);
if(all>=0&&all<=255)
{
d[all]=0;
}
}
}
for(j=0;j<300;j++)
{
if(d[j]==0) b[j]=0;
}
}
t=0;
for(x=0;x<i;x++)
{
if(b[a[x]]==1)
{
c[t]=a[x];
t++;
}
}
for(i=0;i<t-1;i++)
{
pos=i;
for(j=i+1;j<t;j++)
{
if(c[j]<c[pos])
{
pos=j;
}
}
if(pos!=i)
{
x=c[i];c[i]=c[pos];c[pos]=x;
}
}
for(i=0;i<t;i++)
{
if(s!=0)
{
printf(" ");
}
s++;
printf("%d",c[i]);
}
printf("\n");
return 0;
}
1185: 零基础学C/C++185——行列转换
#include
#include
using namespace std;
void mysort(int *pb,int *pc,int k)
{
for(int i=1;i<k;i++)
{
int y=*(pb+i);
int t=*(pc+i);
int j=i-1;
while(j>=0 && *(pb+j)>y)
{
*(pb+j+1)=*(pb+j);
*(pc+j+1)=*(pc+j);
j--;
}
*(pb+j+1)=y;
*(pc+j+1)=t;
}
}
int main ()
{
int n,m,k;
int a[10000],b[10000],c[10000];
while(scanf("%d%d%d",&n,&m,&k)!=EOF)
{
for(int i=0;i<k;i++)
{
scanf("%d%d%d",&a[i],&b[i],&c[i]);
}
int *pa=&a[0],*pb=&b[0],*pc=&c[0];
mysort(pb,pc,k);
int flag=0;
for(int i=0;i<k;i++)
{
if(flag) printf(" ");
flag=1;
printf("%d",c[i]);
}
printf("\n");
}
return 0;
}
1186: 零基础学C/C++186——支撑数
#include
using namespace std;
int main()
{
int n;
scanf("%d",&n);
int a[100]={0};
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<n-1;i++)
{
if(a[i]>a[i-1]&&a[i]>a[i+1])
{
printf("%d ",a[i]);
}
if(i==n-2) printf("\n");
}
}
1187: 零基础学C/C++187——美丽的黄山
#include
using namespace std;
int main()
{
int n;
scanf("%d",&n);
int a[100000]={0};
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int flag=a[0];
int num=1;
for(int i=1;i<n;i++)
{
if(a[i]>flag)
{
flag=a[i];
num++;
}
}
printf("%d",num);
return 0;
}
1188: 零基础学C/C++188——编字典
1189: 零基础学C/C++189——模拟计算器
#include
using namespace std;
int j(int a,int b,int c)
{
if(c==1) return a+b;
else if(c==2) return a-b;
else if(c==3) return a*b;
else if(c==4) return a/b;
}
int main()
{
int m,n,k;
scanf("%d%d",&m,&n);
scanf("%d",&k);
int ans=j(m,n,k);
printf("%d",ans);
return 0;
}
1190: 零基础学C/C++190——冒泡排序
#include
using namespace std;
int main()
{
long long p,n,t;
while(scanf("%lld",&n)!=EOF)
{
long long a[n];
for(int i=0;i<n;i++)
{
scanf("%lld",&a[i]);
}
for(int i=0;i<n-1;i++)
{
p=i;
for(int j=i+1;j<n;j++)
{
if(a[j]<a[p])
{
p=j;
}
}
if(p!=i)
{
t=a[i];
a[i]=a[p];
a[p]=t;
}
}
for(int i=0;i<n;i++)
{
if(i!=0)
{
printf(" ");
}
printf("%lld",a[i]);
}
printf("\n");
}
return 0;
}
1191: 零基础学C/C++191——字母统计
#include
#include
#include
using namespace std;
int main()
{
char a[1000];
int num[4]={0};
gets(a);
char *p=a;
int m=strlen(a);
for(int i=0;i<m;i++)
{
if(*p>='A'&&*p<='Z') {num[0]++;p++;}
else if(*p>='a'&&*p<='z') {num[1]++;p++;}
else if(*p>='0'&&*p<='9') {num[2]++;p++;}
else {num[3]++;p++;}
}
printf("%d %d %d %d %d\n",num[0],num[1],num[2],num[3],m);
return 0;
}
1192: 零基础学C/C++192——陶陶摘苹果
#include
#include
int main (){
int n,a[10];
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&n);
int sign=0;
for(int i=0;i<10;i++){
if(a[i]<=n+30) sign++;
}
printf("%d\n",sign);
return 0;
}
1193: 零基础学C/C++193——插入排序
#include
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int a[n+1];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int m;
cin>>m;
int sign;
for(int i=0;i<n;i++)
{
if(a[i]>m)
{
sign=i;
break;
}
}
for(int i=n-1;i>=sign;i--)
{
a[i+1]=a[i];
}
a[sign]=m;
for(int i=0;i<=n;i++)
{
cout<<a[i];
if(i<n) cout<<" ";
if(i==n) cout<<endl;
}
}
return 0;
}
1194: 零基础学C/C++194——夏令营旗手
#include
#include
#include
#include
#include
#include
using namespace std;
struct ac
{
int no;
ac *pre;
ac *next;
};
int main()
{
ac *head=new ac;
head->no=1;
head->pre=NULL;
int n,m;
scanf("%d%d",&n,&m);
ac *befor=new ac;
befor=head;
for(int i=2;i<=n;i++)
{
ac *p=new ac;
p->no=i;
p->pre=befor;
befor->next=p;
befor=p;
}
befor->next=NULL;
ac *now=new ac;
now=head;
int flag=1;
int k=m;
while(n!=1)
{
if(k==1)
{
k=m;
if(now->pre!=NULL) now->pre->next=now->next;
else now->next->pre=NULL;
if(now->next!=NULL) now->next->pre=now->pre;
else now->pre->next=NULL;
n--;
}else k--;
if(now->next==NULL) flag=0;
if(now->pre==NULL) flag=1;
if(flag)
{
now=now->next;
}else
{
now=now->pre;
}
}
printf("%d\n",now->no);
return 0;
}
1195: 零基础学C/C++195——记录信息
#include
using namespace std;
struct student
{
string no;
string name;
char sex;
int age;
int score;
student *next;
};
int main()
{
student *head=new student;
student *now=new student;
student *cc=new student;
head->next=now;
string in;
int flag=0;
while(cin>>in && in!="end")
{
getchar();
student *p=new student;
p->no=in;
cin>>p->name>>p->sex>>p->age>>p->score;
if(flag==0) p->next=NULL;
cc=p;
if(flag)
{
cc->next=now;
}
flag=1;
head->next=cc;
now=p;
}
now=head->next;
while(now!=NULL)
{
cout<<now->no<<" "<<now->name<<" "<<now->sex<<" "<<now->age<<" "<<now->score<<endl;
now=now->next;
}
return 0;
}
1196: 零基础学C/C++196——排除异形基因
#include
#include
int main (){
int n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
if((a[i]*a[i])%7!=1)
{
printf("%d",a[i]);
if(i<n-1) printf(" ");
}
if(i==n-1) printf("\n");
}
return 0;
}
1197: 零基础学C/C++197——回文数个数
#include
#include
int hw(int n);
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
int gc=0;
for(int i=1;i<=n;i++)
{
if(hw(i)==1) gc++;
}
printf("%d\n",gc);
}
return 0;
}
int hw(int n)
{
int s,y=0;
s=n;
while(s>0)
{
y=y*10+s%10;
s=s/10;
}
if(y==n) return 1;
else return 0;
}
1198: 零基础学C/C++198——数的计算
#include
#include
int ab(int n);
int main ()
{
int n;
scanf("%d",&n);
printf("%d",ab(n)+1);
return 0;
}
int ab(int n)
{
int sum=0;
for(int i=1;i<=n/2;i++)
{
sum=sum+ab(i);
}
if(n>1) return sum+n/2;
if(n==1) return 0;
if(n==2) return 1;
}
1199: 零基础学C/C++199——孪生素数
#include
#include
int p(int n);
int main (){
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=3;i+2<=n;i=i+2)
{
if(p(i) && p(i+2)) printf("%d %d\n",i,i+2);
}
}
return 0;
}
int p(int n){
for(int i=2;i<n;i++)
{
if(n%i==0) return 0;
}
return 1;
}
深入浅出学算法
oj 题目1306--1407 and 1420--1439
1306: 深入浅出学算法001-计算复杂度
#include
#include
#include
#include
using namespace std;
int main ()
{
int t;
scanf("%d",&t);
while (t--)
{
int n;
scanf("%d",&n);
if(n==1) printf("1\n");
else if(n==2) printf("n\n");
else if(n==3) printf("2^n\n");
else if(n==4) printf("n^2\n");
else if(n==5) printf("nlogn\n");
else if(n==6) printf("n^2\n");
else if(n==7) printf("n^3\n");
}
return 0;
}
1307: 深入浅出学算法002-求最大公约数
#include
int f(int a,int b)
{
int c;
if(a<b)
{
int t=b;
b=a;
a=t;
}
while (a%b!=0)
{
c=a;
a=b;
b=c%b;
}
return b;
}
int main ()
{
int t;
scanf("%d",&t);
int m,n;
for(int i=0;i<t;i++)
{
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
}
return 0;
}
1308: 深入浅出学算法003-n个1
#include
int main ()
{
int t;
scanf("%d",&t);
while (t--)
{
int m=1,ans=1;
int k;
scanf("%d",&k);
while(m!=0)
{
m=m*10+1;
m=m%k;
ans++;
}
printf("%d\n",ans);
}
return 0;
}
1309: 深入浅出学算法004-求多个数的最小公倍数
#include
#include
using namespace std;
long long a[1000];
long long gy(long long a,long long b)
{
if(a<b)
{
long long c=a;
a=b;
b=c;
}
while(a%b)
{
long long s=a;
a=b;
b=s%b;
if(a<b)
{
long long c=a;
a=b;
b=c;
}
}
return b;
}
long long gb(long long a,long long b)
{
long long sum;
sum=a*b/gy(a,b);
return sum;
}
int main ()
{
long long t;
cin>>t;
while (t--)
{
long long n;
cin>>n;
for(long long i=0;i<n;i++)
{
cin>>a[i];
}
long long ans=1;
for(long long i=0;i<n;i++)
{
ans=gb(ans,a[i]);
}
cout<<ans<<endl;
}
}
数据结构基础
oj 题目1500--1568
2018浙江理工大学新生赛
2019浙江理工大学新生赛