面試考題
用您熟悉的程式語言(任何開發語言都可以), 輸出以下的圖形
*
***
*****
*******
*****
***
*
star = '*'
space = ' '
def printRawStyle(centerIndex, r):
totalWidht = (centerIndex-1)*2 +1
startStarIndex = centerIndex - r
endStarIndex = centerIndex + r
for i in range(1,totalWidht+1):
if i < startStarIndex or i > endStarIndex:
print(space,end='')
else:
print(star,end='')
print("")
printRawStyle(4, 0)
printRawStyle(4, 1)
printRawStyle(4, 2)
printRawStyle(4, 3)
printRawStyle(4, 2)
printRawStyle(4, 1)
printRawStyle(4, 0)
用您熟悉的程式語言, 撰寫一程式,讓使用者輸入一個整數x,並將x傳遞給名為compute()的函式,此函式將回傳x是否為質數(Prime number)的布林值,接著再將判斷結果輸出。如輸入值為質數顯示【Prime】,否則顯示【Not Prime】。
using System;
public class Program
{
public static void Main()
{
CheckPrime(1);
}
public static void CheckPrime(int number)
{
if(number < 2)
{
Console.WriteLine("Not Prime");
return;
}
int remainder= -1;
for(int i = 2 ; i< number ; i++)
{
remainder = number%i;
if(remainder == 0)
{
break;
}
}
if(remainder == 0)
{
Console.WriteLine("Not Prime");
} else
{
Console.WriteLine("Prime");
}
}
}
請回答以下程式的輸出結果:_________________________
int s = 1; // 全域變數
void add (int a) {
int s = 6;
for( ; a>=0; a=a-1) {
printf("%d,", s);
s++;
printf("%d,", s);
}
}
int main () {
printf("%d,", s);
add(s);
printf("%d,", s);
s = 9;
printf("%d", s);
return 0;
}
1,6,7,7,8,1,9
以下資料庫表格
Table : Score
學號 |
科目代碼 |
成績 |
1 |
EN |
90 |
1 |
MATH |
65 |
1 |
CH |
33 |
2 |
EN |
22 |
2 |
MATH |
11 |
2 |
CH |
33 |
3 |
EN |
55 |
3 |
MATH |
66 |
4 |
EN |
66 |
4 |
MATH |
77 |
4 |
CH |
88 |
Table: Student
學號 |
姓名 |
1 |
張三 |
2 |
李四 |
3 |
萬五 |
4 |
李白 |
5 |
杜甫 |
以SQL 找出總成績最高學生
select (select s.姓名 from Student s where s.學號 =i.學號), i.學號 , sum(i.成績) 總成績 from Score i
group by i.學號
order by 總成績 desc
limit 1;
以SQL找出每個科目最高成績的學生姓名, 科目及成績
select (select s.姓名 from Student s where s.學號 =i.學號), i.學號 ,i.科目代碼, MAX(i.成績) 成績 from Score i
group by i.科目代碼 ;
以SQL 找出各科目的平均成績
select i.科目代碼, avg(i.成績) 平均成績 from Score i
group by i.科目代碼 ;
以SQL 找出那個學生缺考那一科
select v.學號 , v.姓名 , v.科目代碼, s.成績 from
(select st.學號 , st.姓名 , c.科目代碼 from (select distinct i.科目代碼 from Score i) c , Student st) v
left join Score s on s.學號 =v.學號 and s.科目代碼 =v.科目代碼
where s.成績 is NULL
以SQL找出ALL PASS的學生資料
select * from
(
select v.姓名 , count(v.科目代碼) passCount from
(select st.學號 , st.姓名 , c.科目代碼 from (select distinct i.科目代碼 from Score i) c , Student st) v
left join Score s on s.學號 =v.學號 and s.科目代碼 =v.科目代碼
where s.成績 >= 60
group by v.姓名
) v2 where v2.passCount >=3
;
60分及格, 以SQL列出需補考學生清單
學生姓名 科目 成績
select v.姓名 , v.科目代碼, s.成績 from
(select st.學號 , st.姓名 , c.科目代碼 from (select distinct i.科目代碼 from Score i) c , Student st) v
left join Score s on s.學號 =v.學號 and s.科目代碼 =v.科目代碼
where s.成績 is NULL or s.成績 < 60
;
以SQL找出那個學生完全缺考
select * from Student s
where s.學號 not in (select distinct i.學號 from Score i);
留言
張貼留言