今天面试挂了,面试题如下。
程序设计题目:
1,给出的数是矩阵,行列转换
100 200 300
400 500 600
700 800 900
写一个函数,要出输出
100 400 700
200 500 800
300 600 900
2、写一个函数:给一个数字,要求求出这个数中的各位相乘时候的结果,例如:225的结果为20;202的结果为0。
3、写一个程序:提供两个正整数,要求第二个正整数的个位和十位调换,放前面;第一个数的个位和十位调换放后面。例如:12和45,结果为542。
4、下表为用户登陆流水表,表结构如下。
学生编号 登陆时间
写一条SQL语句,查询出每个用户的最后登陆时间。
这几道提不会,感觉第一题应该是用二维数组就可以搞定了,但是由于不是很熟,所以没发手写出来。2、3提都不知道考的什么。
求答案! 面试题 h程序设计 SQL
[解决办法]
随便写了一下,没有写成函数,可以自己:
//第一题
int[,] values = new int[,] { { 100, 200, 300 }, { 400, 500, 600 }, { 700, 800, 900 } };
for (int j = 0; j < values.GetLength(1); j++)
{
for (int i = 0; i < values.GetLength(0); i++)
Response.Write(values[i, j] + " ");
Response.Write("<br/>");
}
//第二题
int value = 225;
int sum = 1;
while (value > 0)
{
sum *= value % 10;
value /= 10;
}
Response.Write(sum);
//第三题
int a = 12, b = 45;
string s = new string(b.ToString().ToCharArray().Reverse().ToArray()) + new string(a.ToString().ToCharArray().Reverse().ToArray());
int r = int.Parse(s);
Response.Write(r);
//第四题
string sqlStr = "select 学生编号,max(登陆时间) as 最后登录时间 from 登陆流水 group by 学生编号";
convert。toint(xxx【i】)乘以后面的
不写了,键盘要完蛋,sql 就是分组查询,因该明白了吧
[解决办法]
第三题其实可这么写,我觉得更符合要求:
//第三题
int a = 12, b = 45;
int sum = 0;
while (b > 0)
{
sum = sum * 10 + b % 10;
b /= 10;
}
while (a > 0)
{
sum = sum * 10 + a % 10;
a /= 10;
}
Response.Write(sum);
Func<int, int> fun = null;
fun = i => i < 10 ? i : fun(i / 10) * (i % 10);
var res = fun(225);



//第二题
int num = 123456;
string strNum = num.ToString();
int sum = 1;
for (int i = 0; i < strNum.Length; i++)
{
sum *= int.Parse(strNum.Substring(i, 1));
}