今天面试挂了,面试题如下。
程序设计题目:
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 学生编号";
[解决办法]
1
a =new int[2,2]写入数据
WriteLine(a【0,0】,a[1,0],a[2,0])
后面一样
2
xxx=ReadLine(aaa)。toChararray()
for(int,i《xxx,i)
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);
[解决办法]
1.第一题取决与你使用的数据结构,所以无固定解法
2.第二题也无固定解。直接tostring可以,递归可以,循环可以。如果能写出函数式或声明式解的人算比较有意思滴了
函数式解法
Func<int, int> fun = null;
fun = i => i < 10 ? i : fun(i / 10) * (i % 10);
var res = fun(225);
3.第3题其实和第二题基本一样,第2题能用的手法,第3题都可以用。木啥好说滴
ps:其实这两题还都可以用正则直接搞
4.分组排序,在取唯一(sql2005以上可以用排名开窗)
[解决办法]
1 google 矩阵转置
2 最简单,转成字符串,然后每一位相乘
...
都是很简单的题目啊。
[解决办法]
有点太说不过去了。
[解决办法]
个人觉得第二题
可以加些思路:
if(value.ToString().Contains("0")) return 0;
string temp=value.ToString().Replace("1","");
if(string.IsNullOrEmpty(temp)) return 1;
else value=(int)temp;
[解决办法]
这都挂了 太说不过去了吧

LZ在c#基本语法,SQL基本语法上 还需加油

放心,下次面试就会了
[解决办法]
其实面试是很好的学习过程,面啊面的,你就发现你学会了很多东西
[解决办法]
LZ V5

[解决办法]
//第二题
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));
}
[解决办法]
都是很基本的问题 应该是招实习生吧 比我们这笔试面试简单多了
[解决办法]
这么简单的数学计算题目,加油吧