ZSTU 我的编程之路 题解

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


1000: 送分题-A+B Problem

#include 
using namespace std;
int main (){
    int a,b;
    cin>>a>>b;
    cout<<a+b;
}




零基础学C/C++

oj 题目1001--1199

1001: 零基础学C/C++01——第一个程序Hello World!

#include 
using namespace std;
int main (){
    cout<<"Hello World!"<<endl;
}

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

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

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

#include 
using namespace std;
int main (){
    for(int i=0;i<15;i++) cout<<"*";
    cout<<endl<<endl;
    cout<<"  Very Good!"<<endl;
    cout<<endl;
    for(int i=0;i<15;i++) cout<<"*";
    cout<<endl;
}

1004: 零基础学C/C++04——超简单模仿算术题

#include 
int main()
{
    printf("%d\n",10-7);
    return 0;
}

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

#include 
int main()
{
    printf("%d\n",9*10);
    return 0;
}

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

#include 
int main()
{
    printf("%.1f\n",8.0/5);
    return 0;
}

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

#include 
#include 
int main()
{
    printf("%.2f\n",1+sqrt(3.0)/(4-2.1));
    return 0;
}

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

#include 
int main (){
    int a;
    scanf("%d",&a);
    printf("%d",a);
    return 0;
}

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

#include 
using namespace std;
int main () {
    int a,b;
    cin>>a>>b;
    cout<<"a="<<a<<endl;
    cout<<"b="<<b<<endl;
    cout<<"s="<<a+b<<endl;
    return 0;
}

1010: 零基础学C/C++10——a - b

#include 
int main (){
    int a,b;
    scanf("%d,%d",&a,&b);
    printf("%d",a-b);
    return 0;
}

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

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

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

#include 
int main (){
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("%.3f",(a+b+c)/3.000);
    return 0;
}

1013: 零基础学C/C++13——华氏摄氏温度转换

#include
int main (){
    float a,b;
    scanf("%f",&a);
    printf("fahr=%.3f,celsius=%.3f",a,(5.000/9.000)*(a-32.000));
    return 0;
}

1014: 零基础学C/C++14——输出特殊值

#include
int main (){
    printf("%%d");
    return 0;
}

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

#include
int main (){
    printf("\\n");
    return 0;
}

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

#include
int main (){
    int a1,a2,a3,b1,b2,b3;
    scanf("%d-%d-%d",&a1,&a2,&a3);
    scanf("%d-%d-%d",&b1,&b2,&b3);
    printf("%d",b3-a3-1);
    
    return 0;
}

1017: 零基础学C/C++17——求2个时间之间的分钟数

#include
int main(){
    int a1,a2,b1,b2;
    scanf("%d:%d",&a1,&a2);
    scanf("%d:%d",&b1,&b2);
    printf("%d",(b1*60+b2)-(a1*60+a2)-1);
    return 0;
}

1018: 零基础学C/C++18——三位数反转

#include 
int main (){
    int a;
    scanf("%d",&a);
    int s1,s2,s3;
    s1=a/100;
    s2=(a%100)/10;
    s3=(a%100)%10;
    printf("%d%d%d",s3,s2,s1);
    return 0;
}

1019: 零基础学C/C++19——交换变量

#include 
int main (){
    int a,b;
    scanf("%d%d",&a,&b);
    int c;
    c=a;
    a=b;
    b=c;
    printf("%d %d",a,b);
    return 0;
}

1020: 零基础学C/C++20——求圆柱体的表面积

#include 
int main (){
    float pi = 3.1415926;
	float r,h,area;
	scanf("%f%f",&r,&h);
	area=2*pi*r*h+2*pi*r*r;
	printf("Area=%.3f",area);
    return 0;
}

1021: 零基础学C/C++21——求梯形面积

#include
int main(){
	float a,b,c;
	float s;
	scanf("%f,%f,%f",&a,&b,&c);
	s=(a+b)*c/2;
	printf("%.2f",s);
	return 0;
}

1022: 零基础学C/C++22——求正弦和余弦

#include 
#include 
#define PI 3.1415926 
int main(){
	int a;
	float s,c;
	scanf("%d",&a);
	s=sin(a*PI/180);
	c=cos(a*PI/180);
	printf("%.2f\n%.2f",s,c);
	return 0;
}

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

#include 

int main(){
	int n;
	float a1,a2,a3;
	scanf("%d",&n);
	scanf("%f%f%f",&a1,&a2,&a3);
	printf("%.2f",(a1+a2+a3)/n);
	return 0;
}

1024: 零基础学C/C++24——判断奇偶数

#include 

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

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

#include 

int main(){
	int n;
	scanf("%d",&n);
	if(n>0) printf("+");
	else if(n<0) printf("-");
	else printf("0");
	return 0;
}

1026: 零基础学C/C++26——判断某整数是否既是5又是7的整数倍

#include 

int main(){
	int n;
	scanf("%d",&n);
	if(n%5==0 && n%7==0) printf("Yes");
	else printf("No");
	return 0;
}

1027: 零基础学C/C++27——整除

#include 

int main(){
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a%b==0 && a%c==0) printf("Yes");
	else printf("No");
	return 0;
}

1028: 零基础学C/C++28—— 求较大的数

#include 

int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	int c;
	if(a>b) c=a;
	else c=b;
	printf("%d",c);
	return 0;
}

1029: 零基础学C/C++29—— 再求较大的数

#include 

int main(){
	int a,b,d;
	scanf("%d%d%d",&a,&b,&d);
	int c;
	if(a>b) c=a;
	else c=b;
	if(c>d)
	printf("%d",c);
	else printf("%d",d);
	return 0;
}

1030: 零基础学C/C++30—— 判断是否直角三角形

#include 

int main(){
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a*a+b*b==c*c ||a*a+c*c==b*b ||b*b+c*c==a*a) printf("yes");
	else printf("no");

	return 0;
}

1031: 零基础学C/C++31—— 闰年

#include 

int main(){
	int a;
	scanf("%d",&a);
	if((a%4==0 && a%100!=0) || a%400==0) printf("Yes");
	else printf("No");

	return 0;
}

1032: 零基础学C/C++32—— 等级分制度

#include 

int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	int sum=1500;
	sum=sum+5*a+5*b;
	if(sum<1600) printf("D");
	else if(sum>=1600 && sum<1700) printf("C");
	else if(sum>=1700 && sum<1800) printf("B");
	else printf("A");

	return 0;
}

1033: 零基础学C/C++33—— 参加程序设计竞赛

#include 

int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	if((a<=6 || b<=2) || (a<=20 && b<5) )printf("yes");
	else printf("no");

	return 0;
}

1034: 零基础学C/C++34—— 3个数比较大小

#include 
int main(){
	int a,b,c,e;
	scanf("%d%d%d",&a,&b,&c);
	if(a<b) {
		e=a;a=b;b=e;
	}
	if(a<c) {
		e=a;a=c;c=e;
	}
		if(b<c) {
		e=b;b=c;c=e;
	}
	printf("%d %d %d",a,b,c);
	return 0;
}

1035: 零基础学C/C++35—— 输出四位完全平方数

#include
#include
int main()
{
	int i,a,b,c,d;
	for(i=1000;i<10000;i++)
	{
		a=i/1000;
		b=(i-a*1000)/100;
		c=(i-a*1000-b*100)/10;
		d=i-a*1000-b*100-c*10;
		if(a==b&c==d&a!=c&sqrt(i)==(int)sqrt(i))
			printf("%d\n",i);
	}
	return 0;
}

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

#include
#include
int main(){
	int a,b,i;
	scanf("%d",&a);
	b=a;
	for(i=1;i<=5;i++){
		b=b/10;
		if(b<1) break;
	}
	int c[i];
	for(int j=0;j<i;j++){
		c[j]=a%10;
		a=a/10;
	}
	printf("%d\n",i);
	for(int j=0;j<i;j++) printf("%d",c[j]);
	return 0;
}

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

#include 
#include 
int main (){
	int a;
	scanf("%d",&a);
	int s[5];
	for(int i=0;i<5;i++){
		s[i]=a%10;
		a=a/10;
	}	
	for(int j=0;j<=2;j++){
		if(s[j] != s[4-j]) {printf("No");
		break;
		}
		else {printf("Yes");
		break;
		}
	}
	return 0;
}

1038: 零基础学C/C++38——第几天

#include 
#include 
int main (){
	int y,m,d,c=0;
	scanf("%d-%d-%d",&y,&m,&d);
	for(int i=1;i<m;i++){
		c=c+30;
		if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) c++;
		else if(i==2) c=c-2;
	}
	c=c+d;
	if((y%4==0&&y%100!=0)||y%400==0){
		if(m>2) c++;
	}
	printf("%d",c);
	return 0;
}

1039: 零基础学C/C++39——求方程的解

#include 
#include 
int main (){
	
	float a,b,c;
	float x1,x2;
	scanf("%f%f%f",&a,&b,&c);
	float d=b*b-4*a*c;
	if(a==0){
		if(b==0) printf("No");
		else {
			x1=-c/b;
			printf("%f",x1);
		}
	}else if(a>0){
		if(b*b<4*a*c) printf("No");
		else if(b*b==4*a*c) printf("%f",(-b)/(2*a));
		else {
			x1=(-b+sqrt(d))/(2*a);
			x2=(-b-sqrt(d))/(2*a);
			printf("%f\n%f",x1,x2);
		}
	}else if(a<0){
		if(b*b<4*a*c) printf("No");
		else if(b*b==4*a*c) printf("%f",(-b)/(2*a));
		else {
			x1=(-b-sqrt(d))/(2*a);
			x2=(-b+sqrt(d))/(2*a);
			printf("%f\n%f",x1,x2);
		}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n,m,j,t;
	scanf("%d%d",&n,&m);
	t=(m-2*n)/2;
	j=n-t;
	if(t<0||j<0||m%2==1) printf("No");
	else{
		printf("%d %d",j,t);
	}
	return 0;
}

1041: 零基础学C/C++41—— 求1+2+……+N的和

#include 
#include 
int main (){
	int n,sum=0;
	scanf("%d",&n);
	for(int i=0;i<=n;i++){
		sum=sum+i;
	}
	printf("sum=%d",sum);

	return 0;
}

1042: 零基础学C/C++42——求n的阶乘

#include 
#include 
int main (){
	int n,sum=1;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		sum=sum*i;
	}
	printf("%d",sum);

	return 0;
}

1043: 零基础学C/C++43——求多项式

#include 
#include 
int main (){
	int n,sum=0;
	scanf("%d",&n);
	for(int i=0;i<=n;i++){
		if(i%2==0){sum=sum-i;
		}else sum=sum+i;
	}
	printf("%d",sum);
	return 0;
}

1044: 零基础学C/C++44——求10个数的平均值

#include 
#include 
int main (){
	int a[10],sum=0;
	for(int i=0;i<10;i++){
		scanf("%d",&a[i]);
		sum=sum+a[i];
	}
	printf("ave=%.1f",sum/10.0);
	return 0;
}

1045: 零基础学C/C++45——N个数找最大和最小

#include 
#include 
int main (){
	int n,max=-1000000,min=1000000;
	scanf("%d",&n);
	int a[n];
	for(int i=0;i<n;i++){
		scanf("%d",&a[i]);
		if(a[i]>max) max=a[i];
		if(a[i]<min) min=a[i];
	}
	printf("max=%d, min=%d",max,min);
	return 0;
}

1046: 零基础学C/C++46——3n+1问题

#include 
#include 
int main (){
	int n,i=0;
	scanf("%d",&n);
	while(n!=1){
		if(n%2==0) n=n/2;
		else n=3*n+1;
		i++;
	}
	printf("%d",i);
	return 0;
}

1047: 零基础学C/C++47——继续求多项式

#include 
#include 
int main (){
	int n,sum=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			sum=sum+j;
		}
	}
	printf("%d",sum);
	return 0;
}

1048: 零基础学C/C++48——求多项式(含浮点)

#include 
#include 
int main (){
	int n,sum=0;
	scanf("%d",&n);
	float ans=0;
	for(int i=1;i<=n;i++){
		if(i%2==1){sum=sum+2*i-1;
		}else {sum=sum-2*i+1;
		}
		ans=ans+1.0/sum;
	}
	printf("%.2f",ans);
	return 0;
}

1049: 零基础学C/C++49——求阶乘和

#include 
#include 
int main (){
	int n,sum=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int m=1;
		for(int j=1;j<=i;j++){
			m=m*j;
		}
		sum=sum+m;
	}
	printf("%d",sum);
	return 0;
}

1050: 零基础学C/C++50——求最大公约数

#include 
#include 
int main (){
	int a,b,n;
	scanf("%d,%d",&a,&b);
	if(b>a){int c;
	c=a;
	a=b;
	b=c;
	}
	for(int i=a;i>=1;i--){
		if(a%i==0&&b%i==0) {
			printf("%d",i);
			break;
		}
	}
	return 0;
}

1051: 零基础学C/C++51——完数

#include 
#include 
int main (){
	int n,sum=0;
	scanf("%d",&n);
	for(int i=1;i<n;i++){
		if(n%i==0){
			sum=sum+i;
		}
	}
	if(sum==n) printf("%d is cloze.",n);
	else printf("%d is not cloze.",n);
	return 0;
}

1052: 零基础学C/C++52——计算数列和2/1,3/2,5/3,8/5…

#include 
#include 
int main (){
	int i,n;
	scanf("%d",&n);
	float s=0,a,b,c;
	a=1;
	b=2;
	c=a+b;
	for(i=1;i<=n;i++){
		s=s+b/a;
		a=b;
		b=c;
		c=a+b;
	}
	printf("s=%.2f",s);
	return 0;
}

1053: 零基础学C/C++53——多组测试数据(a+b)

#include 
#include 
int main (){

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

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

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

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

#include 
#include 
int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
         if(a==0 && b==0)
              break;
         printf("%d\n",a+b);
     }
	return 0;
}

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

#include 
#include 
int main()
{
    int n,i,m;
    while(scanf("%d",&n)!=EOF && n!=0)
    {
    	int sum=0;
         for(i=1;i<=n;i++)
         { 
            scanf("%d",&m);
            sum=sum+m;
         }
		printf("%d\n",sum);
    }
	return 0;
}

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

#include 
#include 
int main()
{
    int a,b,c;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    {
       printf("%d\n",a+b+c);//?????\n
    }
	return 0;
}

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

#include 
#include 
int main()
{
    int a,b,c,t=0;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    {
       if( t>0) printf("\n");
       printf("%d\n",a+b+c);
       t++;

    }
	return 0;
}

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

#include 
#include 
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF){
    	int m=n/3;
    	for(int i=1;i<=n;i++){
    		if(i%3==0){
    			if(i!=3*m) printf("%d ",i);
    			else printf("%d\n",i);
			}
		}
	}
	return 0;
}

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

#include 
#include 
int main()
{
    int n;
   	scanf("%d",&n);
   	for(int i=0;i<n;i++){
   		int m,a,max=-1000000;
   		scanf("%d",&m);
   		for(int j=0;j<m;j++){
   			scanf("%d",&a);
   			if(a>max) max=a;
		   }
		printf("%d\n",max);
	   }
	return 0;
}

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

#include 
#include 
int main()
{
    int n;
   	scanf("%d",&n);
   	for(int i=0;i<n;i++){
   		int m,a,max=1000000;
   		scanf("%d",&m);
   		for(int j=0;j<m;j++){
   			scanf("%d",&a);
   			if(a<max) max=a;
		   }
		printf("%d\n",max);
	   }
	return 0;
}

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

#include 
#include 
int main()
{
    int n;
   	scanf("%d",&n);
   	for(int i=0;i<n;i++){
   		int m,a,sum=0;
   		scanf("%d",&m);
   		for(int j=0;j<m;j++){
   			scanf("%d",&a);
   			sum=sum+a;
		   }
		printf("%.2f\n",(float)sum/(float)m);
	   }
	return 0;
}

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

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

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		printf("%d\n",(n+n*n)/2);
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		float ans=0;
		for(int i=1;i<=n;i++){
			int sum=0;
			for(int j=1;j<=i;j++){
				sum=sum+j;
			}
			ans=ans+1.0/sum;
		}
		printf("%.4f\n",ans);
	}
	return 0;
}

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

#include 
int main(){
	float f;
	while(scanf("%f",&f)!=EOF){
		float sum=0,pai;
		for(int i=1;;i=i+2){
			if((i+1)/2%2==1) sum=sum+1.0/i;
			else sum=sum-1.0/i;
			
			if(1.0/i<f) break;
			if(f==0)  break;
		}
		pai=4.0*sum;
		printf("%.4f\n",pai);
	}
} 

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		int sum=0;
		for(int i=1;i<=n;i++){
		int a=1;
		for(int j=1;j<=i;j++){
			a=a*j; 
		}
		sum=sum+a;
	}
	printf("%d\n",sum);
	}
	return 0;
}....

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

#include 
#include 
int main (){
	int a1,a2,a3;
	for(int i=0;i<=20;i++){
		for(int j=0;j<=33;j++){
			for(int k=0;k<=100;k=k+3){
				if(i+j+k==100 && 5*i+3*j+k/3==100) printf("%d %d %d\n",i,j,k);
			}
		}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		int m=1;
		for(int i=1;i<n;i++){
			m=(m+1)*2;
		}
		printf("%d\n",m);
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		int a,b,c;
		a=n/100;
		b=(n%100)/10;
		c=(n%100)%10;
		if(a*a*a+b*b*b+c*c*c==n)printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		int a,b,c,d;
		a=n/1000;
		b=(n%1000)/100;
		c=((n%1000)%100)/10;
		d=((n%1000)%100)%10;
		if(a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d==n)printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		int a,b,c,d,e;
		a=n/10000;
		b=(n%10000)/1000;
		c=((n%10000)%1000)/100;
		d=(((n%10000)%1000)%100)/10;
		e=(((n%10000)%1000)%100)%10;
		if(a*a*a*a*a+b*b*b*b*b+c*c*c*c*c+d*d*d*d*d+e*e*e*e*e==n)printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}

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

#include 
#include 
int main (){
	int x,y;
	while(scanf("%d%d",&x,&y)!=EOF){
	int max,min,m,n;
	if(x>y){ m=x;n=y;
	}else{ m=y;n=x;
	}
	for(int i=n;i>=1;i--){
	if(x%i==0 && y%i==0){max=i; break;
	}
	}
	for(int j=m;;j++){
		if(j%x==0 && j%y==0) {min=j; break;
		}
	}
	printf("%d %d\n",max,min);
}
	return 0;
}

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

#include 
#include 
void pjzt(int n);
int main (){
	int m;
	while(scanf("%d",&m)!=EOF){
		pjzt(m);
	}
	return 0;
}
void pjzt(int n){
	for(int i=1;i<=n;i++){
		for(int j=n-i;j>0;j--) printf(" ");
		for(int k=1;k<=2*i-1;k++){
			printf("*");
			if(k==2*i-1) printf("\n");
		}	
	
	}
}

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

#include 
#include 
void pjzt(int n);
int main (){
	int m;
	while(scanf("%d",&m)!=EOF){
		pjzt(m);
	}
	return 0;
}
void pjzt(int n){
	for(int i=1;i<=n;i++){
		for(int j=n-i;j>0;j--) printf(" ");
		for(int k=1;k<=2*i-1;k++){
			printf("*");
			if(k==2*i-1) printf("\n");
		}	
	}
	for(int i=n-1;i>=1;i--){
		for(int j=1;j<=n-i;j++) printf(" ");
		for(int k=1;k<=2*i-1;k++){
			printf("*");
			if(k==2*i-1) printf("\n");
		}
	}
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=i;j++){
				printf("%d*%d=%-2d",j,i,i*j);
				if(i!=j) printf(" ");
			}
			printf("\n");
		}
		printf("\n");
	}
	
	return 0;
}

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

#include 
#include 
int main (){
	float a,b,c,p;
	while(scanf("%f%f%f",&a,&b,&c)!=EOF){
		float s=0;
		p=(a+b+c)/2;
		s=sqrt(p*(p-a)*(p-b)*(p-c));
		printf("%.2f\n",s);
	}
	
	
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		int a[n],s=1;
		for(int i=0;i<n;i++){
			scanf("%d",&a[i]);
			if(a[i]%2!=0) s=s*a[i];
		}
		printf("%d\n",s);
	}
	
	
	return 0;
}

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

#include 
#include 
int main (){
	int m,n;
	while(scanf("%d%d",&m,&n)!=EOF){
		if(m<n){
			int v;
			v=m;
			m=n;
			n=v;
		}
		
		int x=0,y=0;
		for(int i=n;i<=m;i++){
			if(i%2==0) x=x+i*i;
			else y=y+i*i*i;
		}
		printf("%d %d\n",x,y);
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF){
		float q=n,sum=n;
		for(int i=1;i<m;i++){
			q=sqrt(q);
			sum=sum+q;
		}
		printf("%.2f",sum);
	}
	return 0;
}

1081: 零基础学C/C++81——数字菱形

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

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

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

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

#include 
int main (){
int m,n,sum;
while(scanf("%d%d%d",&m,&n,&sum)!=EOF){
int a[9]={0},d=0;
a[0]=m/100;a[1]=m%100/10;a[2]=m%100%10;
a[3]=n/100;a[4]=n%100/10;a[5]=n%100%10;
a[6]=sum/100;a[7]=sum%100/10;a[8]=sum%100%10;
for(int i=0;i<8;i++){
for(int j=i+1;j<9;j++){
if(a[i]==a[j]) d=1;
if(a[i]>9 || a[i]<1) d=1;
if(a[8]>9 || a[8]<1) d=1;
}
}
if(m+n==sum && d==0) printf("YES!\n");
else printf("NO!\n"); 
}
return 0;
} 

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

#include 
#include 
int main (){
	char a;
	scanf("%c",&a);
	if(a%2==0) printf("NO\n");
	else printf("YES\n");
	return 0;
}

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

#include 
int a[5]={6,28,496,8128,33550336};
int main(){
	long long n,m;
	while(scanf("%d%d",&n,&m)!=EOF && m!=0 && n!=0)
	{
		int flag=0;
		for(int i=0;i<5;i++)
		{
			if(a[i]>=n&&a[i]<=m)
			{
				flag++;
				if(flag==1) printf("%d",a[i]);
				else printf(" %d",a[i]);
			}
		}
		if(flag) printf("\n");
		else printf("No\n"); 
	}
	return 0;
}

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

#include 
int main (){
	int a;
	scanf("%d",&a);
	for(int i=0;i<a;i++){
		int m,n;
		scanf("%d%d",&m,&n);
		int sum1=0,sum2=0;
		for(int j=1;j<m;j++){
			if(m%j==0) sum1=sum1+j;
		}
		for(int j=1;j<n;j++){
			if(n%j==0) sum2=sum2+j;
		}
		if(sum1==n && sum2==m) printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}

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

#include 
#include 
void pt(int n);
int main (){
	int n;
	while(scanf("%d",&n)!=EOF){
		pt(n);
	}
	
	return 0;
}
void pt(int n){
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n-1;j++) printf(" ");
		int k=1;
		for(;k<=i;k++) printf("%d",k);
		k--;
		for(k=k-1;k>=1;k--) printf("%d",k);
		if(k==0) printf("\n");
	}
	for(int i=n-1;i>=1;i--){
		for(int j=i;j<=n-1;j++) printf(" ");
		int k=1;
		for(;k<=i;k++) printf("%d",k);
		k--;
		for(k=k-1;k>=1;k--) printf("%d",k);
		if(k==0) printf("\n");
	}
}

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

#include 
int gb(int m,int n,int q);
int main (){
	int a,b,c;
	while(scanf("%d%d%d",&a,&b,&c)!=EOF)
	{
		if(a==0||b==0||c==0) break;
		int e;
		e=gb(a,b,c);
		printf("%d %d %d\n",e/a,e/b,e/c);
	}
	return 0;
}
int gb(int m,int n,int q){
	int sum;
	for(int i=1;;i++){
		if(i%m==0 && i%n==0 && i%q==0){
			sum=i;
			break;
		}
	}
	return sum;
}

1089: 零基础学C/C++89——速算24点

#include
using namespace std;
const int N = 4;
int a[N];
bool flag;
bool dfs(int cnt, int result1, int result2)
{
	if(cnt == N - 1)
	{
	if(result1 + result2 == 24 || result1 - result2 == 24 || result1 * result2 == 24)
		flag = true;
		if(result2 != 0 && result1 % result2 == 0 && result1 / result2 == 24)
		flag = true;
	}else if(!flag)
	{
		dfs(cnt + 1, result1 + result2, a[cnt + 1]);
		dfs(cnt + 1, result1 - result2, a[cnt + 1]);
		dfs(cnt + 1, result1 * result2, a[cnt + 1]);
		if(result2 != 0 && result1 % result2 == 0)
		dfs(cnt + 1, result1 / result2, a[cnt + 1]);
		dfs(cnt + 1, result1, result2 + a[cnt + 1]);
		dfs(cnt + 1, result1, result2 - a[cnt + 1]);
		dfs(cnt + 1, result1, result2 * a[cnt + 1]);
		if(a[cnt + 1] != 0 && result2 % a[cnt + 1] == 0)
		dfs(cnt + 1, result1, result2 / a[cnt + 1]);
	}
	return false;
}
int main()
{
	for(; ;)
	{
		char s[4];
		for(int i = 0; i < N; i++)
		{
			if(scanf("%s", s) == EOF)
			return 0;	
			if(strlen(s) == 2)
			a[i] = 10;
			else if(s[0] == 'A')
			a[i] = 1;
			else if(s[0] == 'J')
			a[i] = 11;
			else if(s[0] == 'Q')
			a[i] = 12;
			else if(s[0] == 'K')
			a[i] = 13;
			else
			a[i] = s[0] - '0';
		}
		sort(a, a + N);	
		flag = false;
		do
		{
			dfs(1, a[0], a[1]);
			if(flag)
			break;
		}while(next_permutation(a, a + N));
		printf("%s\n", flag ? "Yes" : "No");
	}
	return 0;
}

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

#include 
#include 
int main (){
	int t;
	scanf("%d",&t);
	for(int i=0;i<t;i++)
	{
		int n;
		scanf("%d",&n);
		int a[n];
		for(int j=0;j<n;j++)
		{
			scanf("%d",&a[j]);
		}
		for(int j=0;j<n;j++)
		{
			printf("%d",a[j]);
			if(j==n-1) printf("\n");
			else printf(" ");
		}
	}
	return 0;
}

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

#include 
int main (){
	int t;
	scanf("%d",&t);
	for(int i=0;i<t;i++)
	{
		int n;
		scanf("%d",&n);
		int a[n];
		for(int j=0;j<n;j++)
		{
			scanf("%d",&a[j]);
		}
		for(int j=0;j<n;j++)
		{
			printf("%d",a[n-1-j]);
			if(j==n-1) printf("\n");
			else printf(" ");
		}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
			int a[n];
		for(int i=0;i<n;i++)
		{
		scanf("%d",&a[i]);
		}
		int max=a[0],xb=0;
		for(int i=1;i<n;i++)
		{
			if(a[i]>max)
			{
				max=a[i];
				xb=i;
			}
		}
		printf("%d %d\n",max,xb);
	}
		return 0;
}

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

#include 
#include 
int fb(int n);
int main (){
	int t;
	scanf("%d",&t);
	int a[46];
	a[0]=0;
	a[1]=1;
	for(int i=2;i<=45;i++)
	{
		a[i]=a[i-1]+a[i-2];
	}
	for(int i=0;i<t;i++)
	{
		int m;
		scanf("%d",&m);
		printf("%d\n",a[m]);
		
	}
	return 0;
}

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

#include
	#include
	int main(){
		int n;
		while(scanf("%d",&n)!=EOF){
			int a[n],x;
			for(int i=0;i<n;i++){
				scanf("%d",&a[i]);
			}
			scanf("%d",&x);
			int c=0;
			for(int i=0;i<n;i++){
				if(x==a[i]) {
					printf("%d\n",i);
					c=1;
					break;
				}
			}
			if(c==0) printf("No\n");
		}
		
		return 0;
}

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

#include
#include
int main(){
	int n;
	while(scanf("%d",&n)!=EOF){
		int a[n],x;
		for(int i=0;i<n;i++){
			scanf("%d",&a[i]);
		}
		scanf("%d",&x);
		int c=-1;
		for(int i=0;i<n;i++){
			if(x==a[i]) {
				c=i;
				break;
			}
		}
		for(int i=0;i<n;i++){
			if(i==c) continue;
			printf("%d",a[i]);
			if(i<n-1) printf(" ");
		}
		printf("\n");
	}
	return 0;
}

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

#include
#include
int main(){
	int n;
	while(scanf("%d",&n)!=EOF){
		int a[n],x;
		for(int i=0;i<n;i++){
			scanf("%d",&a[i]);
		}
		scanf("%d",&x);	
		for(int i=0;i<n;i++){
			if(a[i]==x) continue;
			printf("%d",a[i]);
			if(i<n-1) printf(" ");
		}
		printf("\n");
	}	
	return 0;
}

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

#include
#include
int main(){
	int n;
	while(scanf("%d",&n)!=EOF){
		int a[n+1],x,k;
		for(int i=0;i<n;i++){
			scanf("%d",&a[i]);
		}
		scanf("%d%d",&x,&k);
			for(int i=n-1;i>=0;i--){
			if(a[i]>x) a[i+1]=a[i];
			else {
				a[i+1]=x;
				break;
			}
			if(i==0&&a[0]>x) a[0]=x;
		}
		for(int i=0;i<=n;i++){
			printf("%d",a[i]);
			if(i<n) printf(" ");
			if(i==n) printf("\n");
			if(n>20) break;
		}
		printf("%d\n",a[k]);
		}	
	return 0;
}

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

#include 
int main (){
	int n;
	while(~scanf("%d",&n))
	{
		int a[n],sum=0;
		float ave;
		for(int i=0;i<n;i++)
		{
			(void)scanf("%d",&a[i]);
			sum=sum+a[i];
		}
		ave=(float)sum/n;
		for(int j=0;j<n;j++)
		{
			if(a[j]<ave) printf("%d ",a[j]);
		}
		printf("\n");
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n];
		int max=-1000,min=1000,sum=0;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			sum=sum+a[i];
			if(a[i]>max) max=a[i];
			if(a[i]<min) min=a[i];
		}
		sum=sum-max-min;
		float sco=(float)sum/((float)n-2.0);
		printf("%.2f\n",sco);
	}
	
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n+1];
		for(int i=0;i<=n;i++) a[i]=0;
		for(int i=1;i<=n;i++)
		{
			for(int j=i;j<=n;j=j+i)
			{
				if(a[j]==0) a[j]=1;
				else a[j]=0;
			}
		}
		int sum=0;
		for(int i=1;i<=n;i++)
		{
			if(a[i]!=0) sum++;
		}
		printf("%d\n",sum);
	}
	
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n];
		int flag=-10,sign;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			if(a[i]>flag)
			{
				flag=a[i];
				sign=i;
			}
		}
		int tp;
		tp=a[n-1];
		a[n-1]=a[sign];
		a[sign]=tp;
		for(int i=0;i<n;i++)
		{
		printf("%d",a[i]);
		if(i!=n-1) printf(" ");
		else printf("\n");
		}
	}
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n];
		int flag=10000,sign;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			if(a[i]<flag)
			{
				flag=a[i];
				sign=i;
			}
		}
		int tp;
		tp=a[0];
		a[0]=a[sign];
		a[sign]=tp;
		for(int i=0;i<n;i++)
		{
		printf("%d",a[i]);
		if(i!=n-1) printf(" ");
		else printf("\n");
		}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
	int a[2][n];
	for(int i=0;i<n;i++)
	{
		a[1][i]=0;
		scanf("%d",&a[0][i]);
	}
	for(int i=0;i<n;i++)
	{
		for(int j=i;j<n;j++)
		{
			if(a[0][i]==a[0][j]) {
				a[1][i]++;
				a[1][j]++;
			}
		}
	} 
	int max=0,sign;
	for(int i=0;i<n;i++)
	{
		if(a[1][i]>=max)
		{
			max=a[1][i];
			sign=i;
		 } 
	}
	printf("%d\n",a[0][sign]);
	}
	return 0;
}

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

#include 
#include 
int main ()
{
	int x,n;
	while(scanf("%d%d",&x,&n)!=EOF)
	{
		int a[n],m=-1;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			if(x==a[i]) m=i;
		}
		if(m==-1) printf("Not Found\n");
		else printf("%d\n",m);
	 } 
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=1;i<n;i++)
		printf("%d ",a[i]);
		printf("%d\n",a[0]);
	 } 
	return 0;
}

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

#include 
#include 
#include 
#include 
using namespace std;
int main ()
{
	string num="0123456789ABCDEF";
	int n,r;
	while(cin>>n>>r)
	{
		string s;
		if(n<0) printf("-");
		n=abs(n);
		while(n)
		{
			s.insert(s.begin(),num[n%r]);
			n=n/r;
		}
		cout<<s<<endl;
	}
	return 0;
}

1107: 零基础学C/C++107——插入一个数到数列中

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[10]={0,10,20,30,40,50,60,70,80,0};
		for(int i=8;i>=0;i--)
		{
			if(n<a[i])
			{
				a[i+1]=a[i];
			}
			else 
			{
				a[i+1]=n;
				break;
			}
			if(i==0 &&n<a[i]) a[0]=n;
		}
		for(int i=0;i<10;i++)
		{
			printf("%d",a[i]);
			if(i<9) printf(" ");
			if(i==9) printf("\n");
		}
	 } 
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=0;i<n-1;i++)
		{
			for(int j=0;j<n-1;j++)
			{
				if(a[j]<a[j+1])
				{
					int t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				 } 
			}
		}
		for(int i=0;i<n;i++)
		{
			printf("%d",a[i]);
			if(i<n-1) printf(" ");
			if(i==n-1) printf("\n");
		}
	 } 
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF && n!=0)
	{
		int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=0;i<n-1;i++)
		{
			for(int j=0;j<n-1;j++)
			{
				if(abs(a[j])<abs(a[j+1]))
				{
					int t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				 } 
			}
		}
		for(int i=0;i<n;i++)
		{
			printf("%d",a[i]);
			if(i<n-1) printf(" ");
			if(i==n-1) printf("\n");
		}	
	 } 
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF && n!=0)
	{
		int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=0;i<n-1;i++)
		{
			for(int j=0;j<n-1;j++)
			{
				if(a[j]<a[j+1])
				{
					int t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				 } 
			}
		}
		for(int i=n-1;i>=0;i--)
		{
			printf("%d",a[i]);
			if(i>0) printf(" ");
			if(i==0) printf("\n");
		}
	 } 
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF && n!=0)
	{
		int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=0;i<n-1;i++)
		{
			for(int j=0;j<n-1;j++)
			{
				if(a[j]<a[j+1])
				{
					int t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				 } 
			}
		}
		for(int i=0;i<n;i++)
		{
			printf("%d",a[i]);
			if(i<n-1) printf(" ");
			if(i==n-1) printf("\n");
		}
	 } 
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF && n!=0)
	{
		int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=0;i<n-1;i++)
		{
			for(int j=0;j<n-1;j++)
			{
				if(a[j]<a[j+1])
				{
					int t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				 } 
			}
		}
		for(int i=0;i<n;i++)
		{
			if(a[i]%2==0)
			{
				printf("%d",a[i]);
				if(i<n-1) printf(" ");
			}
			if(i==n-1) printf("\n");
		}
	} 
	return 0;
}

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

#include 
#include 
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF && n!=0)
	{
		int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		int m;
		scanf("%d",&m);
		int sign=1;
		for(int i=0;i<n;i++)
		{
			if(a[i]>m) sign++;
		}
		printf("%d\n",sign);	
	} 
	return 0;
}

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

#include 
int main()
{
	int t;
	int a[2010];
	scanf("%d",&t);
	while (t--)
	{
		int n;
		scanf("%d",&n);
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		int count=0;
		//for(int i=0;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\n",count);
		for(int i=0;i<n;i++)
		{
			printf("%d",a[i]);
			if(i<n) printf(" ");
		}
		printf("\n");
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n],sum=0;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			sum=sum+a[i];
		}
		for(int i=0;i<n-1;i++)
		{
			for(int j=0;j<n-1;j++)
			{
				if(a[j]<a[j+1])
				{
					int t;
					t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				}
			}
		}
		printf("%d %d ",sum,a[0]);
		for(int i=0;i<n;i++)
		{
			printf("%d",a[i]);
			if(i<n-1) printf(" ");
			if(i==n-1) printf("\n");
		}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		int a[n][m];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
			{
				printf("%d",a[j][i]);
				if(j<n-1) printf(" ");
				if(j==n-1) printf("\n");
			}
		}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		int a[n][m],s=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				s++;
				a[i][j]=s;
			}
		}
			for(int i=0;i<n;i++)
			{
				for(int j=0;j<m;j++)
				{
					printf("%d",a[i][j]);
					if(j<m-1) printf(" ");
					if(j==m-1) printf("\n");
				}
			}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		int a[n][m],s=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				s++;
				a[i][j]=s;
			}
		}
			for(int i=0;i<n;i++)
			{
				if(i%2==0)
				{
					for(int j=0;j<m;j++)
					{
						printf("%2d",a[i][j]);
						if(j<m-1) printf(" ");
						if(j==m-1) printf("\n");
					}
				}else
				{
					for(int j=m-1;j>=0;j--)
					{
						printf("%2d",a[i][j]);
						if(j>0) printf(" ");
						if(j==0) printf("\n");
					}
				}
			}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		int a[n][m+1];
		for(int i=0;i<n;i++)
		{
			a[i][m]=0;
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				scanf("%d",&a[i][j]);
				a[i][m]=a[i][m]+a[i][j];
			}
		}
		for(int i=0;i<m+1;i++)
		{
			printf("%d",a[n-1][i]);
			if(i<m) printf(" ");
			if(i==m) printf("\n");
		}
		for(int i=1;i<n-1;i++)
		{
			for(int j=0;j<m+1;j++)
			{
				printf("%d",a[i][j]);
				if(j<m) printf(" ");
				if(j==m) printf("\n");
			}
		}
		for(int i=0;i<m+1;i++)
		{
			printf("%d",a[0][i]);
			if(i<m) printf(" ");
			if(i==m) printf("\n");
		}
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		int sum1=0,sum2=0;
		for(int i=0;i<n;i++)
		{
			sum1=sum1+a[i][i];
		}
		for(int i=0;i<n;i++)
		{
			sum2=sum2+a[i][n-1-i];		
		}
		printf("%d %d\n",sum1,sum2);
	}
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		int sign=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<i;j++)
			{
				if(a[i][j]==0) sign++; 
			}
		}
		if(sign==(n*n-n)/2) printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
using namespace std;
int a[30][30]={0};
int main (){
	int n;
	a[0][0]=1;
	a[1][0]=1;
	a[1][1]=1;
	for(int i=2;i<30;i++)
	{
		for(int j=0;j<=i;j++)
		{
			if(j==0||j==i) a[i][j]=1;
			else a[i][j]=a[i-1][j-1]+a[i-1][j];
		}
	}
	while(scanf("%d",&n)!=EOF)
	{
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<=i;j++)
			{
				cout<<a[i][j];
				if(j<i) cout<<" ";
				if(j==i) cout<<endl;
			}
			if(i==n-1) cout<<endl;
		}
	}
	return 0;
}

1123: 零基础学C/C++123——矩阵鞍点

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}	
		}
		int max,signi,signj,s=0,d;
		for(int i=0;i<n;i++)
		{
			max=a[i][0];
			signi=i;
			signj=0;
			for(int j=0;j<n;j++)
			{
				if(a[i][j]>=max) 
				{
					max=a[i][j];
					signi=i;
					signj=j;
				}
			}
			d=0;
			for(int k=0;k<n;k++)
			{
				if(a[k][signj]<a[signi][signj]) d=1;
			}
			if(d==0)
			{
				printf("%d %d\n",signi,signj); 
				s=1;
			}
		}
		if(s==0) printf("NO\n");	
	}
	return 0;
}

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

#include 
#include 	
int main (){
	int m,n;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		int a[m][n];
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		int s=a[0][0],x=0,y=0;
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
			{
				if(abs(a[i][j])>abs(s))
				{
					s=a[i][j];
					x=i;
					y=j;
				}
			}
		}
		printf("%d %d %d\n",x+1,y+1,s);
	}	
	return 0;
}

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

#include 
#include 
int main (){	
	int m,n;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		int a[m][n],b[n][m],c[m][m];
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<m;j++)
			{
				c[i][j]=0;
			}
		}
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				scanf("%d",&b[i][j]);
			}
		}
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<m;j++)
			{
				for(int k=0;k<n;k++)
				{
					c[i][j]=c[i][j]+a[i][k]*b[k][j];
				}
			}
		}
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<m;j++)
			{
				printf("%d",c[i][j]);
				if(j<m-1) printf(" ");
				if(j==m-1) printf("\n");
			}
		}
	}
	return 0;
}

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

#include 
#include 	
int main (){
	int m,n;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		int a[m][n];
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
			{
				a[i][j]=0;
			}
		}
		a[0][0]=1;
		int x=0,y=1;
		for(int i=2;i<=m*n;i++)
		{
			a[x][y]=i;
			if(a[x][y]==a[x][y-1]+1 && y+1<n && a[x][y+1]==0) {y++;continue;}
			else if(a[x][y]==a[x][y-1]+1 && (y+1<=n || a[x][y+1]!=0)) {x++;continue;}
			if(a[x][y]==a[x-1][y]+1 && x+1<m && a[x+1][y]==0) {x++;continue;}
			else if(a[x][y]==a[x-1][y]+1 && (x+1<=m || a[x+1][y]!=0)){y--;continue;}
			if(a[x][y]==a[x][y+1]+1 && y>=0 && a[x][y-1]==0) {y--;continue;}
			else if(a[x][y]==a[x][y+1]+1 && (y>=0 || a[x][y-1]!=0)){x--;continue;}
			if(a[x][y]==a[x+1][y]+1 && x>=0 && a[x-1][y]==0) {x--;continue;}
			else if(a[x][y]==a[x+1][y]+1 && (x>=0 || a[x-1][y]!=0)){y++;continue;}
		}
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
			{
				printf("%2d",a[i][j]);
				if(j<n-1) printf(" ");
				if(j==n-1) printf("\n");
			}
		}
	}	
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		int sum=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<=i;j++)
			{
				sum=sum+a[i][j];
			}
		}
		printf("%d\n",sum);
	}	
	return 0;
}

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

#include 
#include 
#include 
using namespace std;
int main()
{
	int r,c,r1,c1;
	int a[100][100],b[100][100],ans[100][100];
	int t;
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(ans,0,sizeof(ans));
	cin>>t;
	while (t--)
	{
		cin>>r>>c;
		for(int i=0;i<r;i++)
		{
			for(int j=0;j<c;j++)
			{
				cin>>a[i][j];
			}
		}
		cin>>r1>>c1;
		for(int i=0;i<r1;i++)
		{
			for(int j=0;j<c1;j++)
			{
				cin>>b[i][j];
			}
		}
		string ys;
		while(cin>>ys&&ys!="end")
		{
			if(ys=="-")
			{
				for(int i=0;i<r;i++)
				{
					for(int j=0;j<c;j++)
					{
						ans[i][j]=a[i][j]-b[i][j];
					}
				}
				for(int i=0;i<r;i++)
				{
					for(int j=0;j<c;j++)
					{
						cout<<ans[i][j];
						if(j!=c-1) cout<<" ";
					}
					cout<<endl;
				}
				cout<<endl;
			}else if(ys=="+")
			{
				for(int i=0;i<r;i++)
				{
					for(int j=0;j<c;j++)
					{
						ans[i][j]=a[i][j]+b[i][j];
					}
				}
				for(int i=0;i<r;i++)
				{
					for(int j=0;j<c;j++)
					{
						cout<<ans[i][j];
						if(j!=c-1) cout<<" ";
					}
					cout<<endl;
				}
				cout<<endl;
			}else if(ys=="=")
			{
				for(int i=0;i<r;i++)
				{
					for(int j=0;j<c;j++)
					{
						a[i][j]=b[i][j];
					}
				}
			}else if(ys=="*")
			{
				memset(ans,0,sizeof(ans));
				for(int i=0;i<r;i++)
				{
					for(int j=0;j<c;j++)
					{
						for(int k=0;k<r;k++)
						{
							ans[i][j]+=a[i][k]*b[k][j];
						 } 
					}
				}
				for(int i=0;i<r;i++)
				{
					for(int j=0;j<c;j++)
					{
						cout<<ans[i][j];
						if(j!=c-1) cout<<" ";
					}
					cout<<endl;
				}
				cout<<endl;
			}
		}
	}
    return 0;
}

1129: 零基础学C/C++129——蛇行矩阵

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				a[i][j]=0;
			}
		}
		int x=0,y=0;
		for(int i=1;i<=(1+n)*n/2;i++)
		{
			a[x][y]=i;
			if(x-1>=0&&y+1<n)
			{
				x--;
				y++;
				continue;
			}
			if(x-1<0&&y+1<n)
			{
				x=y+1;
				y=0;
				continue;
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				if(a[i][j]!=0)
				{
					printf("%d",a[i][j]);
					if(a[i][j+1]!=0 &&i+1<n&&j+1<n) printf(" ");
				}
				if(j==n-1) printf("\n");
			}
		}
	}	
	return 0;
}

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

#include 
#include 
int main (){
	int n,x;
	while(scanf("%d%d",&n,&x)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=i;(j>=i&&j<n);j++)
			{
				a[i][j]=a[i][j]*x;
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				printf("%d",a[i][j]);
				if(j<n-1) printf(" ");
				if(j==n-1) printf("\n");
			}
		}
	}	
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<=i;j++)
			{
				a[i][j]=0;
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				printf("%d",a[i][j]);
				if(j<n-1) printf(" ");
				if(j==n-1) printf("\n");
			}
		}
	}	
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		int sum=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				if(i-1<0||j-1<0||i+1==n||j+1==n) sum=sum+a[i][j];
			}
		}
		float ave=(float)sum/(float)(4*n-4);
		printf("%.2f\n",ave);
		
	}	
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n],b[n][n],c[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				b[i][j]=a[j][i];
			}
		}
		
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				c[i][j]=a[i][j]+b[i][j];
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				printf("%d",c[i][j]);
				if(j<n-1) printf(" ");
				if(j==n-1) printf("\n");
			}
		}
	}	
	return 0;
}

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

#include 
#include 
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[n][n],b[n][n],c[n][n];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				b[i][j]=a[j][i];
			}
		}
		int flag=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				if(a[i][j]!=b[i][j]) flag=1;
			}
		}
		if(flag==0) printf("Yes\n");
		else printf("No\n");
	}	
	return 0;
}

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

#include 
#include 
using namespace std;
int a[1001][1001];
int main ()
{
	int n,m;
	float d;
	while (cin>>n>>m>>d)
	{
		int sum0=n*m,sum1=0;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			cin>>a[i][j];
			if(a[i][j]!=0) sum1++;
		}
	}
	float ans=(float)sum1/(float)sum0;
	if(ans>=d)
	{
		cout<<n<<" "<<m<<endl;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				cout<<a[i][j];
				if(j<m-1) cout<<" ";
				if(j==m-1) cout<<endl;
			}
		}
	}else
	{
		cout<<n<<" "<<m<<endl;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				if(a[i][j]!=0)
				{
					cout<<i<<" "<<j<<" "<<a[i][j]<<endl;
				}
			}
		} 
	}
	}
	return 0;
}

1136: 零基础学C/C++136——反话连篇

#include 
#include 
#include 
using namespace std;
int main()
{
	char a[101];
	while (gets(a)!=NULL)
	{
		int m=strlen(a);
		for(int i=m-1;i>=0;i--)
		{
			printf("%c",a[i]);
			if(i==0) printf("\n");
		}
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
using namespace std;
int main (){
	char a[101];
	while(gets(a)!=NULL)
	{
		int zm=0,num=0,kg=0,ot=0;
		int m=strlen(a);
		for(int i=0;i<m;i++)
		{
			if(a[i]>=65&&a[i]<=90) zm++;
			else if(a[i]>=97&&a[i]<=122) zm++;
			else if(a[i]>=48&&a[i]<=57) num++;
			else if(a[i]==32) kg++;
			else ot++;
		}
		cout<<zm<<" "<<num<<" "<<kg<<" "<<ot<<endl;
	}
	return 0;
}

1138: 零基础学C/C++138——查找最大元素

#include 
#include 
#include 
#include 
using namespace std;
bool cmp(char a,char b)
{
	return a>b;
}
int main()
{
	char a[101],b[101];
	while (gets(a)!=NULL)
	{
		int m=strlen(a);
		for(int i=0;i<m;i++)
		{
			b[i]=a[i];
		}
		sort(b,b+m,cmp);
		for(int i=0;i<m;i++)
		{
			if(a[i]==b[0]) printf("%c(max)",a[i]);
			else printf("%c",a[i]);
			if(i==m-1) printf("\n");
		}
	}
	return 0;
}

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

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

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

#include 
#include 
int main (){
	int n;
	scanf("%d\n",&n);
	for(int i=0;i<n;i++)
	{
		char a[100]={0},num[5]={0};
		gets(a);
		for(int i=0;i<100;i++)
		{
			if(a[i]=='a') num[0]++;
			if(a[i]=='e') num[1]++;
			if(a[i]=='i') num[2]++;
			if(a[i]=='o') num[3]++;
			if(a[i]=='u') num[4]++;
		}
		printf("a:%d\n",num[0]);
		printf("e:%d\n",num[1]);
		printf("i:%d\n",num[2]);
		printf("o:%d\n",num[3]);
		printf("u:%d\n",num[4]);
		if(i<n-1) printf("\n");
	}	
	return 0;
}

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

#include 
#include 
#include 
int main (){
	char a[80];
	while(scanf("%s",a)!=EOF)
	{
		int m=strlen(a),sign=1;
		for(int i=0;i<=(m+1)/2;i++)
		{
			if(a[i]!=a[m-1-i]) sign=0;
		}
		if(sign) printf("Yes\n");
		else printf("No\n");
	}	
	return 0;
}

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

#include 
#include 
int main (){
 int n,m;char a[100];
 scanf("%d\n",&n);
 for(int i=0;i<n;i++)
 { 
  scanf("%s",a);
  m=strlen(a);
  if(a[m-1]=='y'||a[m-1]=='s'||a[m-1]=='x'||a[m-1]=='o') printf("%ses\n",a);
  else if(a[m-1]=='h'&&(a[m-2]=='c'||a[m-2]=='s')) printf("%ses\n",a);
  else printf("%ss\n",a);
 }
 return 0;
}

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

#include 
#include 
#include 
#include 
int main (){
	int t;
	scanf("%d",&t);
	char a[5];
	getchar();
	for(int i=0;i<t;i++)
	{
		scanf("%s",&a);
		if(strcmp(a,"AC") == 0) printf("Accepted\n");
		if(strcmp(a,"PE") == 0) printf("Presentation Error\n");
		if(strcmp(a,"WA") == 0) printf("Wrong Answer\n");
		if(strcmp(a,"RE") == 0) printf("Runtime Error\n");
		if(strcmp(a,"TLE") == 0) printf("Time Limit Exceeded\n");
		if(strcmp(a,"MLE") == 0) printf("Memory Limit Exceeded\n");
		if(strcmp(a,"OLE") == 0) printf("Output Limit Exceeded\n");
		if(strcmp(a,"CE") == 0) printf("Compilation Error\n");	
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
int main ()
{
	char s[105];
	while(gets(s)!=NULL)
	{
		if(s[0]>='a'&&s[0]<='z')
		s[0]=s[0]-32;
		for(int i=1;i<105;i++)
		{
			if(s[i]==' '&&s[i+1]!=' '&&s[i+1]>='a'&&s[i+1]<='z') s[i+1]=s[i+1]-32;
		}
		puts(s);
	}	
	return 0;
}

1145: 零基础学C/C++145——进制转换II

#include 
#include 
#include 
#include 
using namespace std;
int main ()
{
	int t;
	int a[4];
	int flag;
	string ans="0123456789ABCDEF";
	cin>>t;
	while (t--)
	{
		string num;
		cin>>num;
		int l=num.size();
		if(l%4)
		{
			for(int i=l%4;i<4;i++)
			{
				num.insert(num.begin(),'0');
			}
		}
		l=num.size();
		string s;
		for(int i=0;i<l;i=i+4)
		{
			if(num[i]=='0') a[0]=0;
			else a[0]=1;
			if(num[i+1]=='0') a[1]=0;
			else a[1]=1;
			if(num[i+2]=='0') a[2]=0;
			else a[2]=1;
			if(num[i+3]=='0') a[3]=0;
			else a[3]=1;
			flag=a[0]*8+a[1]*4+a[2]*2+a[3]*1;
			s.insert(s.end(),ans[flag]);
		}
		cout << s << endl;
	}
	return 0;
}

1146: 零基础学C/C++146——C语言合法标识符

#include 
#include 
#include 
#include 
using namespace std;
int main ()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		getchar();
		for(int i=0;i<n;i++)
		{
			char a[51];
			int flag=1;
			gets(a);
			int m=strlen(a);
			for(int j=0;j<m;j++)
			{
			   	if (j==0)
			{
				if(((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z'))||a[0]=='_') ;
				else flag=0;
			}
			else
			{
				if(((a[j]>='a'&&a[j]<='z')||(a[j]>='A'&&a[j]<='Z'))||(a[j]=='_')||(a[j]>='0'&&a[j]<='9')) ;
				else flag=0;
			}
			 }
			if(flag) printf("yes\n");
			else printf("no\n"); 
		}
	}
	return 0;
}

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

#include  
#include 
#include 
using namespace std;

int main()
{
	char s[101];
	while(gets(s)!=NULL)
	{
		int a[27]={0};
		int m=strlen(s);
		for(int i=0;i<m;i++)
		{
			if(s[i]-64>=1&&s[i]-64<=26)
			a[s[i]-64]++;
			if(s[i]-96>=1&&s[i]-96<=26)
			a[s[i]-96]++;
		}
		for(int i=1;i<=26;i++)
		{
			if(a[i]!=0) printf("%c: %d\n",'a'-1+i,a[i]);
		}
		printf("\n"); 
	}
}

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

#include  
#include 
#include 
using namespace std;

int main()
{
	char s[101];
	while(gets(s)!=NULL)
	{
		int m=strlen(s);
		for(int i=0;i<m;i++)
		{
			if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) printf("%c",s[i]);
 		}
 		printf("\n");
	}
	return 0;
}

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

#include 
#include  
#include 
#include 
using namespace std;
int main ()
{
	char a[81];
	gets(a);
	int m=strlen(a);
	sort(a,a+m);
	puts(a);
} 

1150: 零基础学C/C++150——统计元音字母数

#include 
#include  
#include 
#include 
using namespace std;
int main ()
{
	char s[81];
	gets(s);
	int m=strlen(s);
	int a[5]={0};
	for(int i=0;i<m;i++)
	{
		if(s[i]=='a'||s[i]=='A') a[0]++;
		else if(s[i]=='e'||s[i]=='E') a[1]++;
		else if(s[i]=='i'||s[i]=='I') a[2]++;
		else if(s[i]=='o'||s[i]=='O') a[3]++;
		else if(s[i]=='u'||s[i]=='U') a[4]++;
	}
	printf("%d\n%d\n%d\n%d\n%d\n",a[0],a[1],a[2],a[3],a[4]);
	return 0;
} 

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

#include 
#include  
#include 
#include 
using namespace std;
int main ()
{
	char s[500];
	while (gets(s)!=NULL)
	{
	int m=strlen(s);
	for(int i=0;i<m;i++)
	{
		int flag=0;
		if(s[i]>='A'&&s[i]<='Z')
		{
			for(int j=0;j<i;j++)
			{
				if(s[i]==s[j]) flag=1;
			}
		}
		if((s[i]>='A'&&s[i]<='Z')&&flag==0)
		{
			printf("%c ",s[i]);
		}
		if(i==m-1) printf("\n");
	}
	}
	return 0;
 } 

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

#include 
#include 
#include 
#include 
#include  
using namespace std;
int main ()
{
	char s[85];
	while (gets(s)!=NULL)
	{
		int num=0;
		int l=strlen(s);
		for(int i=0;i<l;i++)
		{
			if(isalpha(s[i]))
			{
				if(isalpha(s[i+1])==0) num++;
			}
		}
		cout << num<<endl;
	}
	return 0;
}

1153: 零基础学C/C++153——恺撒加密

#include 
#include 
#include 
#include 
int main (){
	char a[1000];
	while(gets(a)!=NULL)
	{
		int m=strlen(a);
		for(int i=0;i<m;i++)
		{	
				if(a[i]<='U' && a[i]>='A')	{ a[i]=a[i]+5;continue;}
				if(a[i]<='Z' && a[i]>='V')	{ a[i]=a[i]-21;continue;}
				if(a[i]<='u' && a[i]>='a')	{ a[i]=a[i]+5;continue;}
				if(a[i]<='z' && a[i]>='v')	{ a[i]=a[i]-21;continue;}
		}  
		printf("%s\n",a);
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
int main (){
	char a[1000];
	while(gets(a)!=NULL)
	{
		int m=strlen(a);
		for(int i=0;i<m;i++)
		{	
				if(a[i]>='A' && a[i]<='Z')	{ a[i]='A'+'Z'-a[i];continue;}
		}  
		printf("%s\n",a);
	}
	return 0;
}

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

#include
#include
#include
using namespace std;
int main()
{
   string str[20],c;
   int N;
   while(cin>>N)
   {
   
   getline(cin,c);
   for(int i=0;i<N;i++) getline(cin,str[i]);
   sort(str,str+N);
   for(int i=0;i<N;i++) cout<<str[i]<<endl;
   cout<<endl;
   }
} 

1156: 零基础学C/C++156——删除前导*

#include 
#include 
#include 
#include 
using namespace std;
int main ()
{
	char a[81];
	while(gets(a)!=NULL)
	{
		int m;
	int n=strlen(a);
	for(int i=0;i<n;i++)
	{
		if(a[i]!='*')
		{
			m=i;
			break;
		}
	}
	for(int i=m;i<n;i++)
	printf("%c",a[i]);
	printf("\n");
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
using namespace std;
int main ()
{
	char a[81];
	while(gets(a)!=NULL)
	{
		int n=strlen(a);
		for(int i=0;i<n;i++)
		{
			if(a[i]=='*')
			{
				int flag=0;
				for(int j=i;j<n-1;j++)
				{
					if(a[j]!='*') flag=1;
				}
				if(flag)
				{
					flag=0;
					continue;
				}
			}
			 printf("%c",a[i]);
		}
		printf("\n");
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
using namespace std;
int main ()
{
	char a[81];
	while(gets(a)!=NULL)
	{
		int n=strlen(a);
		for(int i=0;i<n;i++)
		{
			if(a[i]!='*') break;
			else printf("%c",a[i]); 
		}
		for(int i=0;i<n;i++)
		{
			if(a[i]=='*')
			{
				int flag=0;
				for(int j=i;j<n-1;j++)
				{
					if(a[j]!='*') flag=1;
				}
				if(flag)
				{
					flag=0;
					continue;
				}
			}
			 printf("%c",a[i]);
		}
		printf("\n");
	}
	return 0;
}

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

#include

int main()

{
	int n;
	while (scanf("%d",&n)!=EOF)
	{
		int a[n];
		char s[n][51];
		for(int i=0;i<n;i++)
		{
			scanf("%s",&s[i]);
			a[i]=strlen(s[i]);
		}
		int max=0,flag;
		for(int i=0;i<n;i++)
		{
			if(a[i]>max)
			{
				max=a[i];
				flag=i;	
			}
		}
		puts(s[flag]);
	}
	return 0;
}

1160: 零基础学C/C++160——字符串

#include
#include
int main()
{
    char a[1000000],b[1000000];
	while(scanf("%s",a)!=EOF){
		int i=0,j;
		while(a[i]!='#')i++;
		i++;
		for(j=i;a[j]!='#';j++){
			b[j-i]=a[j];
		}
		b[j-i]='\0';
		a[i-1]='\0';
		for(i=0;b[i]!='\0';i++){
			if(strchr(a,b[i])==NULL){
				printf("No\n");
				break;
			}
		}if(i==strlen(b)){
			printf("Yes\n");
		}
	}
	return 0;
}

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

#include 
int jc(int n)
{
	int sum=1;
	for(int i=1;i<=n;i++)
	{
		sum=sum*i;
	}
	return sum;
}
int main ()
{
	int n;
	while (scanf("%d",&n)!=EOF&&n>0)
	printf("%d\n",jc(n));	
	return 0;
}

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

#include 

long long jc(int n)
{
	long long sum=1;
	for(int i=1;i<=n;i++)
	{
		sum=sum*i;
	}
	return sum;
}
int main ()
{
	int n;

	while (scanf("%d",&n)!=EOF&&n>0)
	{
		long long ans=0;
		for(int i=1;i<=n;i++)
		{
			ans=ans+jc(i);
		}
		printf("%lld\n",ans);
	}
	return 0;
}

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

#include 

int  prime(int n)
{
	if(n==1) return 0;
	else if(n==2) return 1;
	else {
		for(int i=2;i<n;i++)
	{
		if(n%i==0) return 0;
	}
		return 1;
	}
}
int main ()
{
	int n;

	while (scanf("%d",&n)!=EOF&&n>0)
	{
		if(prime(n)) printf("Yes\n");
		else printf("No\n");	
	}
	return 0;
}

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

#include 

int pr(int n)
{
	if(n==1) return 0;
	if(n==2) return 1;
	for(int i=2;i<n;i++)
	{
		if(n%i==0) return 0;
	}
	return 1;
}
int main()
{
	int x,y;
	while (scanf("%d%d",&x,&y)!=EOF&&!(x==0&&y==0))
	{
		int flag=1;
		for(int i=x;i<=y;i++)
		{
			if(!pr(i*i+i+41)) flag=0;
		}
		if(flag) printf("Ok\n");
		else printf("Sorry\n");
	}
}

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

#include 

int pr(int n)
{
	if(n==1) return 0;
	if(n==2) return 1;
	for(int i=2;i<n;i++)
	{
		if(n%i==0) return 0;
	}
	return 1;
}
int main()
{
	int x,y;
	while (scanf("%d%d",&x,&y)!=EOF&&!(x==0&&y==0))
	{
		int flag=0;
		for(int i=x;i<=y;i++)
		{
			if(pr(i))
			{
				flag++;
			}
		}
		int sign=1;
		for(int i=x;i<=y;i++)
		{
			if(pr(i))
			{
				printf("%d",i);
				if(sign<flag) printf(" ");
				if(sign==flag) printf("\n");
				sign++;
			}
		}
	}
}

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

#include 
int jc(int n)
{
	int sum=1;
	for(int i=1;i<=n;i++)
	{
		sum=sum*i;
	}
	return sum;
}
int main()
{
	int n,m;
	while (scanf("%d%d",&n,&m)!=EOF)
	{
	int ans=jc(n)/(jc(m)*jc(n-m));
	printf("%d\n",ans);
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
using namespace std;
bool ws(int x);
int main ()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=n;i<=m;i++)
	{
		bool flag=0;
		if(ws(i))
		{
			if(flag) printf(" ");
			printf("%d",i);
			flag=1;
			
		}
		if(i==m) printf("\n");
	}
	return 0;
}
bool ws(int x)
{
	int sum=0;
	for(int i=1;i<x;i++)
	{
		if(x%i==0) sum=sum+i;
	}
	if(sum==x) return 1;
	else return 0;
}

1168: 零基础学C/C++168——统计数字

#include 
#include
int  countdigit(long long number,int digit); 
int main(void)
{
	long long m;
    int  n,ans;
    while(scanf("%lld%d",&m,&n)!=EOF)
	{
    printf("%d\n",countdigit(m,n));
	}
    return 0;
}
int countdigit(long long number,int digit)
{
	int sign=0;
	long long s1=number,s2=number;
	while(s1>0)
	{
		s1=s1/10;
		sign++;
	}
	int a[sign],sg=0;
	for(int i=0;i<sign;i++)
	{
		a[i]=s2%10;
		s2=s2/10;
		if(a[i]==digit) sg++;
	}
	if(number==0&& digit==0) return 1;
	else return sg;
}

1169: 零基础学C/C++169——调用函数,求三个数中最大数

#include 
#include 
#include 
#include 
using namespace std;
int max(int x,int y);
int main ()
{
	int a,b,c;
	while(scanf("%d%d%d",&a,&b,&c)!=EOF)
	{
		int m;
		m=max(a,b);
		m=max(m,c);
		printf("%d\n",m);
	}
	return 0;
}
int max(int x,int y)
{
	if(x>y)
	return x;
	else return y;
}

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

#include 
int main()
{
	char name[40];
	char sex;
	int age;
	float av;
	scanf("%s %c %d %f",&name,&sex,&age,&av);
	printf("%s %c %d %.1f\n",name,sex,age,av);
	 
	return 0;
}

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

#include  
#include 
#include 
using namespace std;
struct student
	{
		char name[50];
		char sex[10];
		int year;
		int month;
		float s;
	};
bool cmp(student a,student b)
	{
		return a.s>b.s;
	}
int main ()
{
	int n;
	scanf("%d",&n);
	struct student stu[n];
	for(int i=0;i<n;i++)
	{
		scanf("%s%s%d%d",&stu[i].name,&stu[i].sex,&stu[i].year,&stu[i].month);
		stu[i].s=(float)stu[i].year+(float)stu[i].month/12.0;
	}
	sort(stu,stu+n,cmp);
	for(int i=0;i<n;i++)
	{
		printf("%s %s %d %d\n",stu[i].name,stu[i].sex,stu[i].year,stu[i].month);
	}
	
	return 0;
}

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

#include
int main()

{
	int n,k;
	int sum=0,s;
	int a[1001]={1};
	while (scanf("%d%d",&n,&k)!=EOF)
	{
	
		for(int i=0;i<n;i++)
		{
			a[i]=0;
		}
		s=n;
		while(s!=1)
		{
			for(int i=0;i<n;i++)
			{
				if(a[i]==0) sum++;
				if(sum==k)
				{
					a[i]=1;
					sum=0;
					s--;
				}
			}
		}
		for(int i=0;i<n;i++)
		{
			if(a[i]==0) printf("%d\n",i+1);
		}
	}
	return 0;
}

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

#include 
#include 
using namespace std;
int main ()
{
	int h[4];
	int l[4];
	scanf("%d%d%d%d",&h[0],&h[1],&l[0],&l[1]);
	scanf("%d%d%d%d",&h[2],&h[3],&l[2],&l[3]);
	if(h[1]<=h[2] || h[0]>=h[3] || l[1]<=l[2] || l[0]>=l[3]) cout<<"0"<<endl;
	else 
	{
		sort(h,h+4);
		sort(l,l+4);
		long long s=(h[2]-h[1])*(l[2]-l[1]);
		cout<<s<<endl;
	}
	return 0;
}

1174: 零基础学C/C++174——作业统计

#include
int main()
{
	int n;
	scanf("%d",&n);
	int a[n][3];
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<3;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	int sum1=0,sum2=0,sum3=0;
	for(int i=0;i<n;i++)
	{
		sum1=sum1+a[i][0];
		sum2=sum2+a[i][1];
		sum3=sum3+a[i][2];
	}
	sum2=sum2+sum3/60;
	sum3=sum3%60;
	sum1=sum1+sum2/60;
	sum2=sum2%60;
	printf("%dhour %dminute %dsecond\n",sum1,sum2,sum3);
	return 0;
}

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

#include  
#include 
#include 
using namespace std;
struct student
{
	char name[50];
	int  hign;
	int num;
};
bool cmp(student a,student b)
{
	return a.hign>b.hign;
}
	
int main ()
{
	int n;
	scanf("%d",&n);
	struct student stu[n];
	for(int i=0;i<n;i++)
	{
		scanf("%s%d%d",&stu[i].name,&stu[i].hign,&stu[i].num);
	}
	sort(stu,stu+n,cmp);
	int max=290999990,p;
	for(int i=0;i<n;i++)
	{
	    if(stu[i].hign==stu[0].hign && stu[i].num<max)
	    {
	        max=stu[i].hign;
	        p=i;
	    }
	}
	printf("%s %d %d\n",stu[p].name,stu[p].hign,stu[p].num);
	return 0;
}

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

#include 
#include 
#include 
#include 
#include  
using namespace std;
struct student
{
	char name[25];
	int month;
	int day;
	string s;
	int num;
	int l;
}stu[200];
bool cmp(student a,student b)
{
	if(a.month>b.month) return 0;
	if(a.month<b.month) return 1;
	if(a.day>b.day) return 0;
	if(a.day<b.day) return 1;
	if(a.l>b.l) return 0;
	if(a.l<b.l) return 1;
	if(a.s>b.s) return 0;
	if(a.s<b.s) return 1;
}
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{ 
		scanf("%s%d%d",stu[i].name,&stu[i].month,&stu[i].day);
		stu[i].l=strlen(stu[i].name);
		for(int j=0;j<stu[i].l;j++)
		{
			stu[i].s+=stu[i].name[j];
		}
	}
	sort(stu,stu+n,cmp);
	for(int i=1;i<n;i++)
	{
		if(stu[i].month==stu[i-1].month&&stu[i].day==stu[i-1].day)
		{
			stu[i].num=1;
			stu[i-1].num=1;
		}else stu[i].num=0;
	}
	int what=0;
	for(int i=0;i<n;i++)
	{
		if(stu[i].num==1)
		{
			what=1;
			int m=stu[i].month;
			int d=stu[i].day;
			printf("%d %d",m,d);
			for(int j=i;;j++)
			{
				if(stu[j].month==m&&stu[j].day==d) 
				{
					printf(" %s",stu[j].name);
					i++;
				}else 
				{
					i--;
					break;
				}
			}
			printf("\n");
		}
	}
	if(!what) printf("None\n");
	return 0;
}

1177: 零基础学C/C++177——集合运算

#include "bits/stdc++.h"
using namespace std;
 
struct tset{//带函数的结构
  bool set[26];//集合
  void input()//输入集合成员函数
  {
        string s;
        cin >> s;
        memset(set,false,sizeof(set));
        for(int i = 0; i < s.size(); i++)
            set[s[i] - 'a'] = true;
    }
  void output()//输出集合成员函数
    {
        for(int i = 0; i < 26; i++)
            if(set[i]) cout << char(i + 'a');
        cout << endl;
    }
     
    tset operator + (const tset x) const//重载+
    {
        tset tmp;
        for(int i = 0; i < 26; i++)
            tmp.set[i] = set[i] || x.set[i];
        return tmp;
    }
         
    tset operator - (const tset x) const//重载-
    {
        tset tmp;
        for(int i = 0; i < 26; i++)
            tmp.set[i] = set[i] && (!x.set[i]);
        return tmp;
    }
         
    tset operator * (const tset x) const//重载*
    {
        tset tmp;
        for(int i = 0; i < 26; i++)
            tmp.set[i] = set[i] && x.set[i];
        return tmp;
    }
};
 
int n;
tset a,b,c;
char op;
 
int main(){
    cin >> n;
    for(int i = 0; i < n; i++){
        a.input();
        cin >> op;
        b.input();
        if(op == '+') c = a + b;
        else if(op == '-') c = a - b;
             else if(op == '*') c = a * b;
        c.output();
    }
    return 0;
}

1178: 零基础学C/C++178——成绩统计

#include 
int main ()
{
	int n,g[1100],count,sum;
	char a[1100],b[1100];
	scanf("%d",&n);
	while(scanf("%d",&n)!=EOF)
	{
		count=0;
		sum=0;
		for(int i=1;i<=n;i++)
		{
			scanf("%s",&a[i]);
			if(a[i]=='C')
			{
				gets(b);
			}
			else 
			{
				scanf("%d",&g[i]);
				sum+=g[i];
				count++;
			}
		}
		printf("%d %d\n",n-count,sum/count);
	}
	return 0;
}

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

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
int n,m,w,ave;
long long sum,num,qq;
char id[18];
int main()
{
	char type;
	m=0;w=0;
	sum=0;ave=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>type;
		if(type=='i')
		{
			for(int j=0;j<18;j++) cin>>id[j];
			if((id[16]-'0')%2==0) w++;
			else m++;
		}else if(type=='q')
		{
			cin>>qq;
			ave++;
			sum+=qq;
		}
	}
	if(ave!=0) ave=sum/ave;
	printf("%d %d %lld\n",m,w,ave);
	return 0;
}

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

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

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

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

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

#include 
int main ()
{
	int m,n;
	while (scanf("%d%d",&m,&n)!=EOF)
	{
		int sum=m;
		while(m>=n)
		{
			sum=sum+m/n;
			m=m%n+m/n;
		}
		if(m==n-1) sum++;
		printf("%d\n",sum);
	}
	return 0;
}

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

#include 
int main ()
{
	int n;
	scanf("%d",&n);
	int a[n];
	int *p;
	p=a;
	for(int i=0;i<n;i++)
	{
		scanf("%d",p);
		p++;
	}
	p--;
	for(int i=0;i<n;i++)
	{
		printf("%d",*p);
		if(i<n-1) printf(" ");
		if(i==n-1) printf("\n");
		p--;
	}
	return 0;
}

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

#include
#include
int all;
int pd(int n,int t)
{
    int num,pd=0,s;all=0;
    while(n!=0)
    {
        s=n%10;
        num=pow(s,t);
        all=all+num;
        n=n/10;
    }
    return all;
}
int a[300],b[300],c[300],d[300];
int main()
{
    int i,n,x,t,m,s,j,pos;
    scanf("%d\n",&n);//轮数
    i=0;
    while(scanf("%d",&m)!=EOF)//输入,计数
    {
		a[i]=m;
        i++;
    }
    for(t=0;t<300;t++)//置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("\n");
    return 0;
}

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

#include 
#include 
using namespace std;
void mysort(int *pb,int *pc,int k)
{
	for(int i=1;i<k;i++)
	{
		int y=*(pb+i);
		int t=*(pc+i);
		int j=i-1;
		while(j>=0 && *(pb+j)>y)
		{
			*(pb+j+1)=*(pb+j);
			*(pc+j+1)=*(pc+j);
			j--;
		}
		*(pb+j+1)=y;
		*(pc+j+1)=t;
	}
} 
int main ()
{
	int n,m,k;
	int a[10000],b[10000],c[10000];
	while(scanf("%d%d%d",&n,&m,&k)!=EOF)
	{
		for(int i=0;i<k;i++)
		{
			scanf("%d%d%d",&a[i],&b[i],&c[i]);
		}
		int *pa=&a[0],*pb=&b[0],*pc=&c[0];
		mysort(pb,pc,k);
		int flag=0;
		for(int i=0;i<k;i++)
		{
			if(flag) printf(" ");
			flag=1;
			printf("%d",c[i]);
		}
		printf("\n");
	}
	return 0;
 } 

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

#include 
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	int a[100]={0};
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=1;i<n-1;i++)
	{
		if(a[i]>a[i-1]&&a[i]>a[i+1])
		{
			printf("%d ",a[i]);
		}
		if(i==n-2) printf("\n");
	}
}

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

#include 
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	int a[100000]={0};
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	int flag=a[0];
	int num=1;
	for(int i=1;i<n;i++)
	{
		if(a[i]>flag)
		{
			flag=a[i];
			num++;
		}
	}
	printf("%d",num);
	return 0;
}

1188: 零基础学C/C++188——编字典

1189: 零基础学C/C++189——模拟计算器

#include 
using namespace std;
int j(int a,int b,int c)
{
	if(c==1) return a+b;
	else if(c==2) return a-b;
	else if(c==3) return a*b;
	else if(c==4) return a/b;
}
int main()
{
	int m,n,k;
	scanf("%d%d",&m,&n);
	scanf("%d",&k);
	int ans=j(m,n,k);
	printf("%d",ans);
	return 0;
}

1190: 零基础学C/C++190——冒泡排序

#include
using namespace std;
int main()
{
    long long p,n,t;
    while(scanf("%lld",&n)!=EOF)
    {
        long long a[n];
        for(int i=0;i<n;i++)
        {
            scanf("%lld",&a[i]);
        }
        for(int i=0;i<n-1;i++)
        {
            p=i;
            for(int j=i+1;j<n;j++)
            {
                if(a[j]<a[p])
                {
                    p=j;
                }
            }
            if(p!=i)
            {
                t=a[i];
				a[i]=a[p];
				a[p]=t;
            }
        }
        for(int i=0;i<n;i++)
        {
            if(i!=0)
            {
                printf(" ");
            }
            printf("%lld",a[i]);
        }
        printf("\n");
    }
    return 0;
}

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

#include 
#include 
#include 
using namespace std;
int main()
{
	char a[1000];
	int num[4]={0};
	gets(a);
	char *p=a;
	int m=strlen(a);
	for(int i=0;i<m;i++)
	{
		if(*p>='A'&&*p<='Z') {num[0]++;p++;}
		else if(*p>='a'&&*p<='z') {num[1]++;p++;}
		else if(*p>='0'&&*p<='9') {num[2]++;p++;}
		else {num[3]++;p++;}
	}
	printf("%d %d %d %d %d\n",num[0],num[1],num[2],num[3],m);
	return 0;
} 

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

#include 
#include 
int main (){
	int n,a[10];
	for(int i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	} 
	scanf("%d",&n);
	int sign=0;
	for(int i=0;i<10;i++){
		if(a[i]<=n+30) sign++;
	}
	printf("%d\n",sign);
	return 0;
}

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

#include
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        int a[n+1];
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
        }
		int m;
		cin>>m;
		int sign;
		for(int i=0;i<n;i++)
		{
			if(a[i]>m)
			{
				sign=i;
				break;
			} 
		}
		for(int i=n-1;i>=sign;i--)
		{
			a[i+1]=a[i];
		}
		a[sign]=m;
		for(int i=0;i<=n;i++)
		{
			cout<<a[i];
			if(i<n) cout<<" ";
			if(i==n) cout<<endl;
		}
    }
    return 0;
}

1194: 零基础学C/C++194——夏令营旗手

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
struct ac
{
	int no;
	ac *pre;
	ac *next;
};
int main()
{
	ac *head=new ac;
	head->no=1;
	head->pre=NULL;
	int n,m;
	scanf("%d%d",&n,&m);
	ac *befor=new ac;
	befor=head;
	for(int i=2;i<=n;i++)
	{
		ac *p=new ac;
		p->no=i;
		p->pre=befor;
		befor->next=p;
		befor=p;
	}
	befor->next=NULL;
	ac *now=new ac;
	now=head;
	int flag=1;
	int k=m;
	while(n!=1)
	{
		if(k==1)
		{
			k=m;
			if(now->pre!=NULL) now->pre->next=now->next;
			else now->next->pre=NULL;
			if(now->next!=NULL) now->next->pre=now->pre;
			else now->pre->next=NULL;
			n--;
		}else k--;
		if(now->next==NULL) flag=0;
		if(now->pre==NULL) flag=1;
		if(flag)
		{
			now=now->next;
		}else 
		{
			now=now->pre;
		}
	}
	printf("%d\n",now->no);
	return 0;
}

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

#include 
using namespace std;
struct student
{
	string no;
	string name;
	char sex;
	int age;
	int score; 
	student *next;
};
int main()
{
	student *head=new student;
	student *now=new student;
	student *cc=new student;
	head->next=now;
	string in;
	int flag=0;
	while(cin>>in && in!="end")
	{
		getchar();
		student *p=new student;
		p->no=in;
		cin>>p->name>>p->sex>>p->age>>p->score;
		if(flag==0) p->next=NULL;
		cc=p;
		if(flag) 
		{
			cc->next=now;
		}
		flag=1;
		head->next=cc;
		now=p;
	}
	now=head->next;
	while(now!=NULL)
	{
		cout<<now->no<<" "<<now->name<<" "<<now->sex<<" "<<now->age<<" "<<now->score<<endl;
		now=now->next;
	}
	return 0;
}

1196: 零基础学C/C++196——排除异形基因

#include 
#include 
int main (){
	int n;
	scanf("%d",&n);
	int a[n];
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=0;i<n;i++)
	{
		if((a[i]*a[i])%7!=1)
		{
			printf("%d",a[i]);
			if(i<n-1) printf(" ");
		}
		if(i==n-1) printf("\n");
	}
	return 0;
}

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

#include 
#include 
int hw(int n);
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int gc=0;
		for(int i=1;i<=n;i++)
		{
			if(hw(i)==1) gc++;
		}
		printf("%d\n",gc);
	}
	return 0;
}
int hw(int n)
{
	int s,y=0;
	s=n;
	while(s>0)
	{
		y=y*10+s%10;
		s=s/10;
	}
	if(y==n) return 1;
	else return 0;
}

1198: 零基础学C/C++198——数的计算

#include 
#include 
int ab(int n);
int main ()
{
	int n;
	scanf("%d",&n);
	printf("%d",ab(n)+1);
	return 0;
}

int ab(int n)
{	
	int sum=0; 
	for(int i=1;i<=n/2;i++)
	{
		sum=sum+ab(i);
	}
	if(n>1) return sum+n/2;
	if(n==1) return 0;
	if(n==2) return 1;
}

1199: 零基础学C/C++199——孪生素数

#include 
#include 
int  p(int n);
int main (){
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		for(int i=3;i+2<=n;i=i+2)
		{
			if(p(i) && p(i+2)) printf("%d %d\n",i,i+2);
		}
	}
	return 0;
}
int  p(int n){
	for(int i=2;i<n;i++)
	{
		if(n%i==0) return 0;
	}
	return 1;
}




深入浅出学算法

oj 题目1306--1407 and 1420--1439

1306: 深入浅出学算法001-计算复杂度

#include 
#include  
#include 
#include 
using namespace std;
int main ()
{
	int t;
	scanf("%d",&t);
	while (t--)
	{
		int n;
		scanf("%d",&n);
		if(n==1) printf("1\n");
		else if(n==2) printf("n\n");
		else if(n==3) printf("2^n\n");
		else if(n==4) printf("n^2\n");
		else if(n==5) printf("nlogn\n");
		else if(n==6) printf("n^2\n");
		else if(n==7) printf("n^3\n");
	}
	return 0;
 } 

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

#include 
int f(int a,int b)
{
	int c;
	if(a<b)
		{
			int t=b;
			b=a;
			a=t;
		}
	while (a%b!=0)
	{
		c=a;
		a=b;
		b=c%b;
	}
	return b;
}
int main ()
{
	int t;
	scanf("%d",&t);
	int m,n;
	for(int i=0;i<t;i++)
	{
		scanf("%d%d",&m,&n);
		printf("%d\n",f(m,n));
	}
	return 0;
 } 

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

#include 
int main ()
{
	int t;
	scanf("%d",&t);
	while (t--)
	{
		int m=1,ans=1;
		int k;
		scanf("%d",&k);
		while(m!=0)
		{
			m=m*10+1;
			m=m%k;
			ans++;
		}
		printf("%d\n",ans);
	}
	return 0;
 } 

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

#include 
#include 
using namespace std;
long long a[1000];
long long gy(long long a,long long b)
{
	if(a<b)
	{
		long long c=a;
		a=b;
		b=c;
	}
	while(a%b)
	{
		long long s=a;
		a=b;
		b=s%b;
		if(a<b)
		{
			long long c=a;
			a=b;
			b=c;
		}
	}
	return b;
}
long long gb(long long a,long long b)
{
	long long sum;
	sum=a*b/gy(a,b);
	return sum;
}
int main ()
{
	long long t;
	cin>>t;
	while (t--)
	{
		long long n;
		cin>>n;
		for(long long i=0;i<n;i++)
		{
			cin>>a[i];
		}
		long long ans=1;
		for(long long i=0;i<n;i++)
		{
			ans=gb(ans,a[i]);
		}
		cout<<ans<<endl;
	}	
}




数据结构基础

oj 题目1500--1568



2018浙江理工大学新生赛




2019浙江理工大学新生赛

你可能感兴趣的:(C/C++)