ZSTU我的编程之路

Posted jokernocry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZSTU我的编程之路相关的知识,希望对你有一定的参考价值。

  • 浙江理工大学我的编程之路答案
  • 语言:C/C++
  • 推荐编译器:Dev-C++ / CodeBlocks
  • 严禁直接复制提交
  • 作弊行为将会被ACM校队禁止入队
  • 作者:JokerNoCry





    1000: 送分题-A+B Problem

#include <iostream>
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 <iostream>
using namespace std;
int main (){
    cout<<"Hello World!"<<endl;
}

1002: 零基础学C/C++02——输出简单的句子

#include <iostream>
using namespace std;
int main (){
    cout<<"Nice to meet you!";
}

1003: 零基础学C/C++03——Very Good!

#include <iostream>
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 <stdio.h>
int main()
{
    printf("%d
",10-7);
    return 0;
}

1005: 零基础学C/C++05——再模仿一个算术题

#include <stdio.h>
int main()
{
    printf("%d
",9*10);
    return 0;
}

1006: 零基础学C/C++06——再来一题除法算术题

#include <stdio.h>
int main()
{
    printf("%.1f
",8.0/5);
    return 0;
}

1007: 零基础学C/C++07——复杂一点的算式表达式

#include <stdio.h>
#include <math.h>
int main()
{
    printf("%.2f
",1+sqrt(3.0)/(4-2.1));
    return 0;
}

1008: 零基础学C/C++08——鹦鹉学舌1

#include <stdio.h>
int main (){
    int a;
    scanf("%d",&a);
    printf("%d",a);
    return 0;
}

1009: 零基础学C/C++09——a + b

#include <iostream>
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 <stdio.h>
int main (){
    int a,b;
    scanf("%d,%d",&a,&b);
    printf("%d",a-b);
    return 0;
}

1011: 零基础学C/C++11——买票找钱

#include <stdio.h>
int main (){
    float a;
    scanf("%f",&a);
    printf("%.2f",100-3*a);
    return 0;
}

1012: 零基础学C/C++12——求平均值

#include <stdio.h>
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<stdio.h>
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<stdio.h>
int main (){
    printf("%%d");
    return 0;
}

1015: 零基础学C/C++15——输出特殊值II

#include<stdio.h>
int main (){
    printf("\n");
    return 0;
}

1016: 零基础学C/C++16——求2个日期之间的天数

#include<stdio.h>
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<stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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<stdio.h>
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 <stdio.h>
#include <math.h>
#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
%.2f",s,c);
    return 0;
}

1023: 零基础学C/C++23——AA制

#include <stdio.h>

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 <stdio.h>

int main(){
    int n;
    scanf("%d",&n);
    if(n%2==0) printf("even");
    else printf("odd");
    return 0;
}

1025: 零基础学C/C++25——判断某整数是正整数、负整数还是零

#include <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>
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<stdio.h>
#include<math.h>
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
",i);
    }
    return 0;
}

1036: 零基础学C/C++36——逆序输出

#include<stdio.h>
#include<math.h>
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
",i);
    for(int j=0;j<i;j++) printf("%d",c[j]);
    return 0;
}

1037: 零基础学C/C++37——回文数

#include <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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
%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
%f",x1,x2);
        }
    }
    return 0;
}

1040: 零基础学C/C++40——鸡兔同笼

#include <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
int main (){

   int a,b;
   while(scanf("%d%d",&a,&b)!=EOF)     
   {
       printf("%d
",a+b);
       
   }
    return 0;
}

1054: 零基础学C/C++54——多组测试数据(a+b)II

#include <stdio.h>
#include <math.h>
int main()
{
    int n;
    int i,a,b;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&a,&b);
        printf("%d
",a+b);
     }
    return 0;
}

1055: 零基础学C/C++55——多组测试数据(a+b)III

#include <stdio.h>
#include <math.h>
int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
         if(a==0 && b==0)
              break;
         printf("%d
",a+b);
     }
    return 0;
}

1056: 零基础学C/C++56——多组测试数据(求和)IV

#include <stdio.h>
#include <math.h>
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
",sum);
    }
    return 0;
}

1057: 零基础学C/C++57——多组测试数据输出I

#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    {
       printf("%d
",a+b+c);//?????

    }
    return 0;
}

1058: 零基础学C/C++58——多组测试数据输出II

#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c,t=0;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    {
       if( t>0) printf("
");
       printf("%d
",a+b+c);
       t++;

    }
    return 0;
}

1059: 零基础学C/C++59——多组测试数据输出III

#include <stdio.h>
#include <math.h>
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
",i);
            }
        }
    }
    return 0;
}

1060: 零基础学C/C++60——求最大值

#include <stdio.h>
#include <math.h>
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
",max);
       }
    return 0;
}

1061: 零基础学C/C++61——求最小值

#include <stdio.h>
#include <math.h>
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
",max);
       }
    return 0;
}

1062: 零基础学C/C++62——求平均值

#include <stdio.h>
#include <math.h>
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
",(float)sum/(float)m);
       }
    return 0;
}

1063: 零基础学C/C++63——判断是否是素数

#include <stdio.h>
#include <math.h>
int main (){
    int n;
    while(scanf("%d",&n)!=EOF){
    if(n==1) printf("No
");
    if(n==2) printf("Yes
");
    for(int i=2;i<n;i++){
        if(n%i==0) {printf("No
"); break;}
        if(i==n-1) printf("Yes
");
    }
}
    return 0;
}

1064: 零基础学C/C++64——高斯定理

#include <stdio.h>
#include <math.h>
int main (){
    int n;
    while(scanf("%d",&n)!=EOF){
        printf("%d
",(n+n*n)/2);
    }
    return 0;
}

1065: 零基础学C/C++65——高斯变例

#include <stdio.h>
#include <math.h>
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
",ans);
    }
    return 0;
}

1066: 零基础学C/C++66——你比祖冲之厉害

#include <stdio.h>
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
",pai);
    }
} 

1067: 零基础学C/C++67——阶乘和

#include <stdio.h>
#include <math.h>
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
",sum);
    }
    return 0;
}....

1068: 零基础学C/C++68——百鸡问题

#include <stdio.h>
#include <math.h>
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
",i,j,k);
            }
        }
    }
    return 0;
}

1069: 零基础学C/C++69——猴子吃桃

#include <stdio.h>
#include <math.h>
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
",m);
    }
    return 0;
}

1070: 零基础学C/C++70——绝配队伍

#include <stdio.h>
#include <math.h>
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
");
        else printf("No
");
    }
    return 0;
}

1071: 零基础学C/C++71——四叶玫瑰数

#include <stdio.h>
#include <math.h>
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
");
        else printf("No
");
    }
    return 0;
}

1072: 零基础学C/C++72——五角星数

#include <stdio.h>
#include <math.h>
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
");
        else printf("No
");
    }
    return 0;
}

1073: 零基础学C/C++73——最大公约数和最小公倍数

#include <stdio.h>
#include <math.h>
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
",max,min);
}
    return 0;
}

1074: 零基础学C/C++74——打印金字塔

#include <stdio.h>
#include <math.h>
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("
");
        }   
    
    }
}

1075: 零基础学C/C++75——双层金字塔

#include <stdio.h>
#include <math.h>
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("
");
        }   
    }
    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("
");
        }
    }
}

1076: 零基础学C/C++76——乘法口诀

#include <stdio.h>
#include <math.h>
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("
");
        }
        printf("
");
    }
    
    return 0;
}

1077: 零基础学C/C++77——求三角形面积

#include <stdio.h>
#include <math.h>
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
",s);
    }
    
    
    return 0;
}

1078: 零基础学C/C++78——求奇数的乘积

#include <stdio.h>
#include <math.h>
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
",s);
    }
    
    
    return 0;
}

1079: 零基础学C/C++79——平方和与立方和

#include <stdio.h>
#include <math.h>
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
",x,y);
    }
    return 0;
}

1080: 零基础学C/C++80——求数列的和

#include <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
void pn(int n);
int main (){
    int n;
    while (scanf("%d",&n)!=EOF){
        pn(n);
    }
    return 0;
}
void pn(int n){
    //up
    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("
");
        for(int k=i+1;k<=2*i-1;k++){
            m++;
            printf("%d",m);
            if(k==2*i-1) printf("
");
        }
    }
    //down
    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("
");
        }
        
    }
}

1082: 零基础学C/C++82——数字菱形II

#include <stdio.h>
#include <math.h>
void pn(int n);
int main (){
    int n;  
    while(scanf("%d",&n)!=EOF) pn(n);
    return 0;
}
void pn(int n){
    //up
    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("
");
        }
    }
    //down
    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("
");
        }
    }
}

1083: 零基础学C/C++83——宁宁的奥数路

#include <stdio.h>
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!
");
else printf("NO!
"); 
}
return 0;
} 

1084: 零基础学C/C++84——奇偶ASCII值判断

#include <stdio.h>
#include <math.h>
int main (){
    char a;
    scanf("%c",&a);
    if(a%2==0) printf("NO
");
    else printf("YES
");
    return 0;
}

1085: 零基础学C/C++85——完美数

#include <stdio.h>
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("
");
        else printf("No
"); 
    }
    return 0;
}

1086: 零基础学C/C++86——亲和数

#include <stdio.h>
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
");
        else printf("NO
");
    }
    return 0;
}

1087: 零基础学C/C++87——数字菱形III

#include <stdio.h>
#include <math.h>
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("
");
    }
    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("
");
    }
}

1088: 零基础学C/C++88——三个齿轮啮合

#include <stdio.h>
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
",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<bits/stdc++.h>
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
", flag ? "Yes" : "No");
    }
    return 0;
}

1090: 零基础学C/C++90——数组输出

#include <stdio.h>
#include <math.h>
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("
");
            else printf(" ");
        }
    }
    return 0;
}

1091: 零基础学C/C++91——逆序输出

#include <stdio.h>
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("
");
            else printf(" ");
        }
    }
    return 0;
}

1092: 零基础学C/C++92——找出数组中最大元素的位置(下标值)

#include <stdio.h>
#include <math.h>
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
",max,xb);
    }
        return 0;
}

1093: 零基础学C/C++93——Fibonacci数列

#include <stdio.h>
#include <math.h>
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
",a[m]);
        
    }
    return 0;
}

1094: 零基础学C/C++94——数组中查找数

#include<stdio.h>
    #include<math.h>
    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
",i);
                    c=1;
                    break;
                }
            }
            if(c==0) printf("No
");
        }
        
        return 0;
}

1095: 零基础学C/C++95——数组中删数

#include<stdio.h>
#include<math.h>
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("
");
    }
    return 0;
}

1096: 零基础学C/C++96——数组中删数II

#include<stdio.h>
#include<math.h>
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("
");
    }   
    return 0;
}

1097: 零基础学C/C++97——数组中插入一个数

#include<stdio.h>
#include<math.h>
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("
");
            if(n>20) break;
        }
        printf("%d
",a[k]);
        }   
    return 0;
}

1098: 零基础学C/C++98——打印所有低于平均分的分数

#include <stdio.h>
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("
");
    }
    return 0;
}

1099: 零基础学C/C++99——青年歌手大奖赛_评委会打分

#include <stdio.h>
#include <math.h>
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
",sco);
    }
    
    return 0;
}

1100: 零基础学C/C++100——开灯问题

#include <stdio.h>
#include <math.h>
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
",sum);
    }
    
    return 0;
}

1101: 零基础学C/C++101——最大数与数列最后一个数交换

#include <stdio.h>
#include <math.h>
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("
");
        }
    }
    return 0;
}

1102: 零基础学C/C++102——最小数与数列第一个数交换

#include <stdio.h>
#include <math.h>
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("
");
        }
    }
    return 0;
}

1103: 零基础学C/C++103——找出一个数组中出现次数最多的那个元素

#include <stdio.h>
#include <math.h>
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
",a[0][sign]);
    }
    return 0;
}

1104: 零基础学C/C++104——查找某一个数

#include <stdio.h>
#include <math.h>
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
");
        else printf("%d
",m);
     } 
    return 0;
}

1105: 零基础学C/C++105——元素前移1位

#include <stdio.h>
#include <math.h>
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
",a[0]);
     } 
    return 0;
}

1106: 零基础学C/C++106——进制转换

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
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 <stdio.h>
#include <math.h>
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("
");
        }
     } 
    return 0;
}

1108: 零基础学C/C++108——程序设计竞赛

#include <stdio.h>
#include <math.h>
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("
");
        }
     } 
    return 0;
}

1109: 零基础学C/C++109——省赛归来

#include <stdio.h>
#include <math.h>
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("
");
        }   
     } 
    return 0;
}

1110: 零基础学C/C++110——N个数从小到大排序

#include <stdio.h>
#include <math.h>
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("
");
        }
     } 
    return 0;
}

1111: 零基础学C/C++111——N个数从大到小排序

#include <stdio.h>
#include <math.h>
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("
");
        }
     } 
    return 0;
}

1112: 零基础学C/C++112——偶数排序

#include <stdio.h>
#include <math.h>
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("
");
        }
    } 
    return 0;
}

1113: 零基础学C/C++113——并列排名

#include <stdio.h>
#include <math.h>
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
",sign);    
    } 
    return 0;
}

1114: 零基础学C/C++114——直接插入排序

#include <stdio.h>
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;
        //for(int i=0;i<n;i++) printf("%d ",a[i]);
        for(int i=1;i<n;i++)
        {
            int j;
            for(j=i-1;j>=0;j--)
            {
                count++; 
                if(a[j]<=a[i])
                break;
            }
            if(j!=i-1)
            {
                int temp=a[i];
                for(int k=i-1;k>j;k--)
                {
                    a[k+1]=a[k];
                }
                a[j+1]=temp;
            }
        }
        printf("%d
",count);
        for(int i=0;i<n;i++)
        {
            printf("%d",a[i]);
            if(i<n) printf(" ");
        }
        printf("
");
    }
    return 0;
}

1115: 零基础学C/C++115——校友捐款

#include <stdio.h>
#include <math.h>
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("
");
        }
    }
    return 0;
}

1116: 零基础学C/C++116——矩阵转置

#include <stdio.h>
#include <math.h>
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("
");
            }
        }
    }
    return 0;
}

1117: 零基础学C/C++117——输出矩阵

#include <stdio.h>
#include <math.h>
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("
");
                }
            }
    }
    return 0;
}

1118: 零基础学C/C++118——弓型矩阵

#include <stdio.h>
#include <math.h>
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("
");
                    }
                }else
                {
                    for(int j=m-1;j>=0;j--)
                    {
                        printf("%2d",a[i][j]);
                        if(j>0) printf(" ");
                        if(j==0) printf("
");
                    }
                }
            }
    }
    return 0;
}

1119: 零基础学C/C++119——矩阵整理

#include <stdio.h>
#include <math.h>
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("
");
        }
        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("
");
            }
        }
        for(int i=0;i<m+1;i++)
        {
            printf("%d",a[0][i]);
            if(i<m) printf(" ");
            if(i==m) printf("
");
        }
    }
    return 0;
}

1120: 零基础学C/C++120——矩阵对角线求和

#include <stdio.h>
#include <math.h>
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
",sum1,sum2);
    }
    return 0;
}

1121: 零基础学C/C++121——判断是否上三角矩阵

#include <stdio.h>
#include <math.h>
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
");
        else printf("NO
");
    }
    return 0;
}

1122: 零基础学C/C++122——杨辉三角

#include <string>
#include <cstring>
#include <iostream>
#include <cstdio>
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 <stdio.h>
#include <math.h>
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
",signi,signj); 
                s=1;
            }
        }
        if(s==0) printf("NO
");    
    }
    return 0;
}

1124: 零基础学C/C++124——海选女主角

#include <stdio.h>
#include <math.h>   
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
",x+1,y+1,s);
    }   
    return 0;
}

1125: 零基础学C/C++125——矩阵乘积

#include <stdio.h>
#include <math.h>
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("
");
            }
        }
    }
    return 0;
}

1126: 零基础学C/C++126——回型矩阵

#include <stdio.h>
#include <math.h>   
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("
");
            }
        }
    }   
    return 0;
}

1127: 零基础学C/C++127——矩阵下三角元素之和

#include <stdio.h>
#include <math.h>
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
",sum);
    }   
    return 0;
}

1128: 零基础学C/C++128——矩阵计算

#include <iostream>
#include <string>
#include <cstring>
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 <stdio.h>
#include <math.h>
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("
");
            }
        }
    }   
    return 0;
}

1130: 零基础学C/C++130——二维数组右上角乘以x

#include <stdio.h>
#include <math.h>
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("
");
            }
        }
    }   
    return 0;
}

1131: 零基础学C/C++131——二维数组左下角置0

#include <stdio.h>
#include <math.h>
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("
");
            }
        }
    }   
    return 0;
}

1132: 零基础学C/C++132——边界均值

#include <stdio.h>
#include <math.h>
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
",ave);
        
    }   
    return 0;
}

1133: 零基础学C/C++133——矩阵A+A‘

#include <stdio.h>
#include <math.h>
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("
");
            }
        }
    }   
    return 0;
}

1134: 零基础学C/C++134——对称矩阵

#include <stdio.h>
#include <math.h>
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
");
        else printf("No
");
    }   
    return 0;
}

1135: 零基础学C/C++135——稀疏矩阵

#include <iostream>
#include <algorithm>
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 <iostream>
#include <cstring>
#include <string>
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("
");
        }
    }
    return 0;
}

1137: 零基础学C/C++137——统计字母数字等个数

#include <string>
#include <cstring>
#include <iostream>
#include <cstdio>
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 <iostream>
#include <cstring>
#include <string>
#include <algorithm>
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("
");
        }
    }
    return 0;
}

1139: 零基础学C/C++139——Yes,I can!

#include <cstring>
#include <iostream>
#include <cstdio>
using namespace std;
int main (){
    char a[10];
    gets(a); 
    cout<<"I am "<<a<<",yes,I can!";
    return 0;
}

1140: 零基础学C/C++140——统计元音

#include <stdio.h>
#include <math.h>
int main (){
    int n;
    scanf("%d
",&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
",num[0]);
        printf("e:%d
",num[1]);
        printf("i:%d
",num[2]);
        printf("o:%d
",num[3]);
        printf("u:%d
",num[4]);
        if(i<n-1) printf("
");
    }   
    return 0;
}

1141: 零基础学C/C++141——回文串

#include <stdio.h>
#include <math.h>
#include <string.h>
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
");
        else printf("No
");
    }   
    return 0;
}

1142: 零基础学C/C++142——单数变复数

#include <stdio.h>
#include <string.h>
int main (){
 int n,m;char a[100];
 scanf("%d
",&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
",a);
  else if(a[m-1]=='h'&&(a[m-2]=='c'||a[m-2]=='s')) printf("%ses
",a);
  else printf("%ss
",a);
 }
 return 0;
}

1143: 零基础学C/C++143——绝对公正的裁判

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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
");
        if(strcmp(a,"PE") == 0) printf("Presentation Error
");
        if(strcmp(a,"WA") == 0) printf("Wrong Answer
");
        if(strcmp(a,"RE") == 0) printf("Runtime Error
");
        if(strcmp(a,"TLE") == 0) printf("Time Limit Exceeded
");
        if(strcmp(a,"MLE") == 0) printf("Memory Limit Exceeded
");
        if(strcmp(a,"OLE") == 0) printf("Output Limit Exceeded
");
        if(strcmp(a,"CE") == 0) printf("Compilation Error
");  
    }
    return 0;
}

1144: 零基础学C/C++144——首字母变大写

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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 <iostream>
#include <string>
#include <cstring>
#include <algorithm>
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 <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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
");
            else printf("no
"); 
        }
    }
    return 0;
}

1147: 零基础学C/C++147——统计每个字母个数

#include <cstdio> 
#include <iostream>
#include <cstring>
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
",'a'-1+i,a[i]);
        }
        printf("
"); 
    }
}

1148: 零基础学C/C++148——字符串整理

#include <cstdio> 
#include <iostream>
#include <cstring>
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("
");
    }
    return 0;
}

1149: 零基础学C/C++149——重组字符串

#include <iostream>
#include <algorithm> 
#include <string>
#include <cstring>
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 <iostream>
#include <algorithm> 
#include <string>
#include <cstring>
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
%d
%d
%d
%d
",a[0],a[1],a[2],a[3],a[4]);
    return 0;
} 

1151: 零基础学C/C++151——检索大写字母

#include <iostream>
#include <algorithm> 
#include <string>
#include <cstring>
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("
");
    }
    }
    return 0;
 } 

1152: 零基础学C/C++152——统计单词个数

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <cctype> 
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 <iostream>
#include <cstdio>
#include <string>
#include <cstring>
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
",a);
    }
    return 0;
}

1154: 零基础学C/C++154——加密程序2

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
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
",a);
    }
    return 0;
}

1155: 零基础学C/C++155——句子比较大小

#include<iostream>
#include<string>
#include<algorithm>
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 <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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("
");
    }
    return 0;
}

1157: 零基础学C/C++157——保留尾部*

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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("
");
    }
    return 0;
}

1158: 零基础学C/C++158——删除中间的*

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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("
");
    }
    return 0;
}

1159: 零基础学C/C++159——最长字符串

#include<bits/stdc++.h>

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<stdio.h>
#include<string.h>
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]='';
        a[i-1]='';
        for(i=0;b[i]!='';i++){
            if(strchr(a,b[i])==NULL){
                printf("No
");
                break;
            }
        }if(i==strlen(b)){
            printf("Yes
");
        }
    }
    return 0;
}

1161: 零基础学C/C++161——求阶乘的函数

#include <stdio.h>
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
",jc(n));   
    return 0;
}

1162: 零基础学C/C++162——求阶乘和

#include <stdio.h>

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
",ans);
    }
    return 0;
}

1163: 零基础学C/C++163——判断是否是素数的函数

#include <stdio.h>

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
");
        else printf("No
");    
    }
    return 0;
}

1164: 零基础学C/C++164——素数判定

#include <stdio.h>

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
");
        else printf("Sorry
");
    }
}

1165: 零基础学C/C++165——输出素数

#include <stdio.h>

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("
");
                sign++;
            }
        }
    }
}

1166: 零基础学C/C++166——求组合数

#include <stdio.h>
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
",ans);
    }
    return 0;
}

1167: 零基础学C/C++167——判断是否完数

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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("
");
    }
    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 <stdio.h>
#include<string.h>
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
",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 <iostream>
#include <cstdio>
#include <cstring>
#include <string>
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
",m);
    }
    return 0;
}
int max(int x,int y)
{
    if(x>y)
    return x;
    else return y;
}

1170: 零基础学C/C++170——输出学生信息

#include <stdio.h>
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
",name,sex,age,av);
     
    return 0;
}

1171: 零基础学C/C++171——年龄排序

#include <iostream> 
#include <string>
#include <algorithm>
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
",stu[i].name,stu[i].sex,stu[i].year,stu[i].month);
    }
    
    return 0;
}

1172: 零基础学C/C++172——猴子选大王

#include<stdio.h>
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
",i+1);
        }
    }
    return 0;
}

1173: 零基础学C/C++173——桌面窗体重叠

#include <iostream>
#include <algorithm>
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<stdio.h>
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
",sum1,sum2,sum3);
    return 0;
}

1175: 零基础学C/C++175——身高问题

#include <iostream> 
#include <string>
#include <algorithm>
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
",stu[p].name,stu[p].hign,stu[p].num);
    return 0;
}

1176: 零基础学C/C++176——生日相同问题

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <string.h> 
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("
");
        }
    }
    if(!what) printf("None
");
    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 <stdio.h>
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-count,sum/count);
    }
    return 0;
}

1179: 零基础学C/C++179——注册账号

#include <iostream>
#include <cstdio>
#include <string>
#include <cmath>
#include <algorithm>
#include <string.h>
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
",m,w,ave);
    return 0;
}

1180: 零基础学C/C++180——数字变化

#include <stdio.h>
int main ()
{
    int m,n;
    scanf("%d%d",&m,&n);
    int *p;
    if(m>n) p=&n;
    else p=&m;
    printf("%d
",(*p)*2);
    return 0;
}

1181: 零基础学C/C++181——猜拳

#include <stdio.h>
int main ()
{
    int m,n;
    while (scanf("%d%d",&m,&n)!=EOF)
    {
        if(m==n+1||m==n-2) 
        {
            printf("lose
");
        }else if(m==n) 
        {
            printf("tie
");
        }else printf("win
");
    }
    return 0;
}

1182: 零基础学C/C++182——墨汁

#include <stdio.h>
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
",sum);
    }
    return 0;
}

1183: 零基础学C/C++183——数组逆序

#include <stdio.h>
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("
");
        p--;
    }
    return 0;
}

1184: 零基础学C/C++184——吉祥数

#include<stdio.h>
#include<math.h>
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);//轮数
    i=0;
    while(scanf("%d",&m)!=EOF)//输入,计数
    {
        a[i]=m;
        i++;
    }
    for(t=0;t<300;t++)//置1,未出局
    {
        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("
");
    return 0;
}

1185: 零基础学C/C++185——行列转换

#include <iostream>
#include <cstdio>
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("
");
    }
    return 0;
 } 

1186: 零基础学C/C++186——支撑数

#include <iostream>
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("
");
    }
}

1187: 零基础学C/C++187——美丽的黄山

#include <iostream>
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 <iostream>
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<iostream>
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("
");
    }
    return 0;
}

1191: 零基础学C/C++191——字母统计

#include <iostream>
#include <string>
#include <cstring>
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
",num[0],num[1],num[2],num[3],m);
    return 0;
} 

1192: 零基础学C/C++192——陶陶摘苹果

#include <stdio.h>
#include <math.h>
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
",sign);
    return 0;
}

1193: 零基础学C/C++193——插入排序

#include<iostream>
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 <iostream>
#include <cstdio>
#include <string>
#include <cmath>
#include <algorithm>
#include <string.h>
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
",now->no);
    return 0;
}

1195: 零基础学C/C++195——记录信息

#include <bits/stdc++.h>
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 <stdio.h>
#include <math.h>
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("
");
    }
    return 0;
}

1197: 零基础学C/C++197——回文数个数

#include <stdio.h>
#include <math.h>
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
",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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
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
",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 <iostream>
#include <algorithm> 
#include <string>
#include <cstring>
using namespace std;
int main ()
{
    int t;
    scanf("%d",&t);
    while (t--)
    {
        int n;
        scanf("%d",&n);
        if(n==1) printf("1
");
        else if(n==2) printf("n
");
        else if(n==3) printf("2^n
");
        else if(n==4) printf("n^2
");
        else if(n==5) printf("nlogn
");
        else if(n==6) printf("n^2
");
        else if(n==7) printf("n^3
");
    }
    return 0;
 } 

1307: 深入浅出学算法002-求最大公约数

#include <stdio.h>
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
",f(m,n));
    }
    return 0;
 } 

1308: 深入浅出学算法003-n个1

#include <stdio.h>
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
",ans);
    }
    return 0;
 } 

1309: 深入浅出学算法004-求多个数的最小公倍数

#include <iostream>
#include <algorithm>
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浙江理工大学新生赛

以上是关于ZSTU我的编程之路的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将按钮添加到片段

我的编程之路

如何在 Django Summernote 中显示编程片段的代码块?

zstu 4247-萌新的旅行

聊聊我的高效编程之路

zstu月赛 招生