1.数字填空,每一行每一列,每个九宫格的填入1-9,并且每一行每一列,每个九宫格都不能出现重复数字
2.二叉树给出先序遍历,中序遍历,画出二叉树图
3.现有2克砝码和7克砝码各一个,天平一个,如何在三次内(包括三次)将140克的面粉分成50克和90克.
1. 用7克砝码和2克砝码称出9克食盐
2. 用7克砝码和9克食盐称出16克食盐
3. 用称出的25克食盐(9+16)再称出25克食盐
4. 9+16+25=50
5. 剩下的就是另外90克食盐
4.有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5, 1,2,5,1,2,3,4,5,会发生多少缺页?
缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。在这个时候,被内存[映射]的文件实际上成了一个分页交换文件。
答:会产生10次缺页
5.手写将字符串倒序输出,不能使用java自带的方法,比如将"abcdef"倒序输出
//<思路>
//历法规定,四年一闰,四百年闰,例如2000年是闰年,2100年不闰年,
//公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的就是平年
//计算两个日期之间的天数(C++)
//定义变量year1, month1, day1, year2, month2, day2
//首先比较两个日期,将小的给date1
//再将date1进行加1,一直增加到date2的日期
//其中当天数大于GetLastDay时,月数加1,同理当月数大于12时,年加1
//再这过程中delta进行自增(++)——> return delta;
/*
问题: 给你两个日期(如"2017,8,18"和"2013,6,11"),求它们之间相差的天数
分析: 这是一年看似简单,实际上却有点复杂的小问题,首先你要考虑到月大月小的问题,其次你要考虑到闰年的问题
当然,你也要检测一下,给定的日期格式是否合法,对这个问题的解法,写出伪代码如下
*/
#include <Windows.h>
#include <stdio.h>
struct tagDate
{
int year;
int month;
int day;
};
//设置日期
void SetDate(int y, int m, int d, tagDate *date)
{
date->year = y;
date->month = m;
date->day = d;
}
//是否闰年
int IsLeapYear(int year)
{
return ((year%4==0) && (year%100!=0)||year%400==0);
}
//得到date.month的最大天数
int GetLastDay(tagDate date)
{
int num;
switch(date.month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
num=31;
break;
case 2:
num = 28+IsLeapYear(date.year);
break;
default:
num = 30;
}
return num;
}
//日期是否合法
int IsDateValid(tagDate date)
{
if(date.year <0 || date.month <1 || date.month> 12)
return 0;
if(date.day <1 || date.day> GetLastDay(date))
return 0;
return 1;
}
//date+1
void AddDay(tagDate *date)
{
date->day++;
if(date->day > GetLastDay(*date))
{
date->day = 1;
date->month++;
if(date->month > 12)
{
date->month = 1;
date->year++;
}
}
}
//date1比date2小返回值为1,否则为0
int Compare(tagDate date1, tagDate date2)
{
if(date1.year < date2.year)
return 1;
if(date1.year <= date2.year && date1.month < date2.month)
return 1;
if(date1.year <= date2.year && date1.month <= date2.month && date1.day < date2.day)
return 1;
return 0;
}
//计算两个日期的间隔天数
long DateDiff(tagDate date1, tagDate date2)
{
long delta = 0;
tagDate date3;
//若date1 > date2,交换date1,date2
if(!Compare(date1, date2))
{
date3 = date2;
date2 = date1;
date1 = date3;
}
//date1比date2少时,date1日期加1
while(Compare(date1,date2))
{
AddDay(&date1);
delta++;
}
return delta;
}
void main()
{
tagDate date1, date2;
int y, m, d;
system("cls");
while(1)
{
puts("Please Input date1\t ");
scanf("%d,%d,%d", &y, &m, &d);
SetDate(y, m, d, &date1);
if(!IsDateValid(date1))
{
puts( "date1 is invalid !");
exit(1);
}
puts("\nPlease Input date2\t ");
scanf("%d,%d,%d", &y, &m, &d);
SetDate(y, m, d, &date2);
if(!IsDateValid(date2))
{
puts( "date2 is invalid !");
exit(1);
}
//返回的天数,以及年数
printf("\nResult : %ld day [about %.2f year]\n", DateDiff(date1,date2),DateDiff(date1,date2)/365.0);
}
}
get post区别
tcp udp区别 tcp重传机制原理
Android中源码的设计模式体现在哪些地方
protobuf require和option的区别
app的链路有几条,比如除了tcp连接以外还有http链接之类的
socket链接使用ip还是域名?各有什么原因
listview和recyclerview区别,recyclerview比起listview哪里好
怎么处理大图避免oom
Android事件分发机制流程
项目中用到的线程是new还是线程池
对于c的学习,可以自己写so库吗
自定义控件怎么优化达到不卡顿或是占用资源少
crash收集的bugly和阿里的有什么不同,crash率有多少
设计模式哪里用到了,比如哪里用到了设计模式
抽象类和接口的区别
性能优化有哪些。(布局,启动速度,内存,)
网友评论