淘先锋技术网

首页 1 2 3 4 5 6 7

2020级工联部第一次考核

在这里插入图片描述
第一题

#include<stdio.h>
int main()
{
	int x,y,z=0;
	printf("输入数字:");
	scanf ("%d",&x);
	y=x;
	while(y>0)
	{
		z=z*10+y%10;
		y=y/10;
	}
	if(z==x)
	{
		printf("true");
	}
	else
	{
		printf("false");
	}
	return 0;
}

在这里插入图片描述在这里插入图片描述

问题:这题主要是找到对应的数字转化的关系式。
过程:输入的数字赋予y,y%10等于y的个位数,y/10等于去掉个位数的数(y为int型)。z通过循环得到x的回文数,再与x相比较。
知识点:这题主要考察了while和if的用法,其中难点还是找到数字转化的关系式。
第二题

#include<stdio.h>
int main()
{
	int a,c=0;
	scanf("%d",&a);
	while(a!=0)
	{
    c=c*10+a%10;
    a=a/10;
	}
	if(a==0)
	{
		c=a;
	}
	printf("%d,",c);
	return 0;
}

在这里插入图片描述
在这里插入图片描述
这题和第一题差不多,不多说。
第三题

#include<stdio.h>
int main()
{
	int a[100][100];
	int i,j,k,n;
	printf("输入非负整数:");
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		a[i][i]=1;
		a[i][0]=1;
	}
	for(i=2;i<n;i++)
	{
		for(j=1;j<=i-1;j++)
			{
				a[i][j]=a[i-1][j-1]+a[i-1][j];
			}
	}
	for(i=0;i<n;i++)
	{
		for(k=1;k<n-i;k++)
		{
			printf(" ");
		}
		for(j=0;j<=i;j++)
		{
			printf("%3d",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}

在这里插入图片描述
**在这里插入图片描述**

这题花了我较多时间,主要还是卡在空格那里。
问题:这题要找到杨辉三角的算法规矩,还有空格的循环算法。
过程:先输出正整数n,n代表三角的行数。然后定义a的二维数组和x,j,k,确定第一行和第二行和每一行的第一位和最后一位都是1,第三行开始,中间数都是头上两个角的和,所以有了a[i][j]=a[i-1][j-1]+a[i-1][j]。最后先利用x,k的数循环先输出由长到短的空格,然后利用x,j的数循环输出a[i][j]。输出的数是%3d,3个数位,形成了等腰的杨辉三角。
知识点:这题需要利用数组,还有利用for语句的循环。

ps:最后一题花了我挺多时间,因为网上对于等腰三角的比较少,书上只有直角的杨辉三角。总之这次我是网上找了挺多内容的,但是我觉得我学到了,所以我觉得这次任务我受益匪浅。