资讯详情

蓝桥杯训练系统答案2|CSDN创作打卡

文章目录

    • [BASIC-9 特殊回文数](http://lx.lanqiao.cn/problem.page?gpid=T48)
    • [BASIC-8 回文数](http://lx.lanqiao.cn/problem.page?gpid=T47)
    • [BASIC-7 特殊数字](http://lx.lanqiao.cn/problem.page?gpid=T46)
    • [BASIC-6 杨辉三角形](http://lx.lanqiao.cn/problem.page?gpid=T10)
    • [BASIC-5 查找整数](http://lx.lanqiao.cn/problem.page?gpid=T9)
    • [BASIC-4 数列特征](http://lx.lanqiao.cn/problem.page?gpid=T8)

BASIC-9 特殊回文数

#include<stdio.h> int main()  { 
              int n,a,b,c;      scanf("%d",&n);        for(a=1;a<=9;a )      for(b=0;b<=9;b )      for(c=0;c<=9;c )      { 
                  if(n==2*a 2*b c)          printf("%d%d%d%d%d\n",a,b,c,b,a);      }      for(a=1;a<=9;a )      for(b=0;b<=9;b )      for(c=0;c<=9;c++)
     { 
        
         if(n==2*a+2*b+2*c)
        printf("%d%d%d%d%d%d\n",a,b,c,c,b,a);
     }
 
     return 0;
 }

注意: 1.从小到大输出,先用循环找出五位的数,再找出六位数 2.用三个变量去遍历循环会比设置五个或六个要快很多

思路: 这里设置了a,b,c三个变量,用if来筛选出符合条件的数。会比直接六个变量六个循环快

BASIC-8 回文数

#include <stdio.h>
int main()
{ 
        
	int a,b,c,d;
	for(a=1;a<=9;a++)
	{ 
        
		for(b=0;b<=9;b++)
		{ 
        
			for(c=0;c<=9;c++)
			{ 
        
				for(d=0;d<=9;d++)
				{ 
        
					if(a==d&&b==c)
					{ 
        
						printf("%d%d%d%d",a,b,c,d);
						putchar('\n'); 
						
					}
				}
			}
		}
	}
	return 0;	
} 

注意:

思路: 这题需要找出四位数中的回文数。我使用了设置四个变量,然后循环相加,判断对称。如果用两个变量,采用上题的方法,应该也是可行的。

BASIC-7 特殊的数字

#include<stdio.h>
int main()
{ 
        
	int a,b,c;
	for(a=1;a<=9;a++)
	{ 
        
		for(b=0;b<=9;b++)
		{ 
        
			for(c=0;c<=9;c++)
			{ 
        
				if(a*100+b*10+c==a*a*a+b*b*b+c*c*c)
				{ 
        
					printf("%d",a*100+b*10+c);
					putchar('\n');
				}	
			}
		}
	}
	return 0;
}

思路: 这题就是按照题目要求,设置三个变量,分别代表个位,十位,百位,然后列出式子即可。

BASIC-6 杨辉三角形

#include<stdio.h>
int main()
{ 
        
	int i,j,n;
	int num[35][35];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{ 
        
		for(j=0;j<=i;j++)
		{ 
        
			if(i==0||j==0||j==i)
				num[i][j]=1;
			else
				num[i][j]=num[i-1][j-1]+num[i-1][j];		
		}
	}
	
		for(i=0;i<n;i++)
		{ 
        
			for(j=0;j<=i;j++)
			{ 
        
				printf("%d ",num[i][j]);
			}	
			putchar('\n');
		}
	return 0; 
} 

注意: 1.,因为本题使用数组来实现,为了反正出现的情况,这里我们把数组的大小给到35。

思路: 定义二维数组,根据规律来输出一个杨辉三角。的时候都是1,其余是上一行的数相加。

BASIC-5 查找整数

#include <stdio.h>
int main()
{ 
        
	int n,i,a,flag=0;
	int num[1001];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&num[i]);
	
	scanf("%d",&a);
	
	for(i=0;i<n;i++)
	{ 
        
		if(a==num[i])
		{ 
        
			flag+=1;
			break;
		}
		
		else
			flag=0;
	}
	if(flag)
		printf("%d",i+1);
	else
		printf("-1");
	
	return 0;
}

注意: 1.的情况,这里我们把数组的大小给到1001。 2.输入的,使用%d输入即可

思路: 按照题目要求输入,然后从数组的开头开始搜索,一旦发现成功,就结束循环,并输出他出现的位数(),如果没有找到,就输出-1.

BASIC-4 数列特征

#include<stdio.h> 
int MAX(int num[],int n);
int MIN(int num[],int n);
int main()
{ 
        
	int n,i,max,min,sum=0;
	int num[10000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&num[i]);
	for(i=0;i<n;i++)
		sum=sum+num[i];
	max=MAX(num,n);	
	min=MIN(num,n);
	printf("%d\n",max);
	printf("%d\n",min);
	printf("%d\n",sum);
}
int MAX(int num[],int n)
{ 
        
	int max,i;
	max=num[0];
	for(i=0;i<n;i++)
	{ 
        
		if(max<num[i])
			max=num[i];
	}
	return max;
}

int MIN(int num[],int n)
{ 
        
	int min,i;
	min=num[0];
	for(i=0;i<n;i++)
	{ 
        
		if(min>num[i])
			min=num[i];
	}
	return min;
}

注意: 1.,因此可以用%d输入。

思路: 这里我采用了函数的做法来完成。MAX函数和MIN函数来找出数当中的最大值和最小值。for循环累加得出这组数据的和即可。

标签: t48kb配k型传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台