复试上机题集(1)

版权声明:转载请注明出处 https://blog.csdn.net/nanhuaibeian/article/details/88790314
  1. 给你一个年份,还有一个数字n,以1月1日为第一天,然后你根据n的值来求出是几月几号。
#include "stdio.h"

void main(){
	int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	int year=2020,n=59;
//	scanf("%d,%d",&year,&n);
	int i=0,flag=0,sum=0;
	if((year%4==0&&year%100!=0)||year%400==0)	flag=1;
	for(i=0;i<12&&sum<=n;i++){
		sum=sum+a[i];
		if(i==1&&flag) sum=sum+1;
	}
	printf("%d,%d,%d",sum,i,flag);
}
  1. 给你一串数字,实现其排序,然后把排序后重复的数字只留下一个。
    如(3,5,5,2,1,4,6)—>(1,2,3,4,5,6)
#include "stdio.h"
void main(){
	int a[7]={3,5,5,2,1,4,6};
	int b[7];
	b[0]=a[0];
	int i,k,j=1;
	for(i=1;i<7;i++){
		for(k=j-1;k>=0;k--){
			if(b[k]>a[i])	b[k+1]=b[k];
			else break;
		}
		b[k+1]=a[i];
		j++;
	}
	for(i=0;i<7;i++){
		if(b[i]!=b[i-1])
		printf("%d ",b[i]);
	}
}
  1. 打印金字塔
 #include "stdio.h"
void main(){
	int n=5;
//	scanf("%d",&n);
	int i,j;
	for(i=1;i<=n;i++){
		for(j=1;j<=(n-i)*2;j++)	printf(" ");
		for(j=i;j>0;j--)
			printf("%d ",j);
		for(j=2;j<=i;j++)
			printf("%d ",j);
		printf("\n");
	}
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/88790314