『壹』 全國青少年scratch等級考試模擬題試卷(三級)
第一題;
(1)甘孜c語言青少年編程模擬題擴展閱讀
主要考察的是軟體編程語言的知識點:
任何機載計算機系統軟體的基本性能都包括計算機系統輸入語言——軟體編程語言。對於不同類型的機載數字計算機,由於其內部(機器)語言具有一定的相似性,廣泛使用計算機匯編語言作為其編程語言。
應用程序的編制需使用PLC生產廠家提供的編程語言。至今為止還沒有一種能適合於各種PLC的通用編程語言。國際標准化的IECll31-3編程語言詳細地說明了句法、語法和下述5種編程語言的表達方式:
1、順序功能圖(sequential function chart);
2、梯形圖(1adder diagram);
3、功能塊圖(function block diagram);
4、語句表(statement list);
5、結構文本(structured text)。
『貳』 一道C語言編程題
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>
ints1[9][9],a,b,w,h,x,y,n;
voidgc(inta,intb,inthp,intm)
{
if(hp!=0)
{
if(s1[a][b]==3){if((m<n)||(n==0))n=m;}else
{
if(s1[a][b]==4)hp=6;
if(s1[a-1][b]!=0)gc(a-1,b,hp-1,m+1);
if(s1[a+1][b]!=0)gc(a+1,b,hp-1,m+1);
if(s1[a][b-1]!=0)gc(a,b-1,hp-1,m+1);
if(s1[a][b+1]!=0)gc(a,b+1,hp-1,m+1);
}
}
}
intmain()
{
scanf("%d%d",&w,&h);
for(a=1;a<=h;a++)
for(b=1;b<=w;b++){scanf("%d",&s1[a][b]);if(s1[a][b]==2)x=a;y=b;}
for(a=0;a<=w;a++){s1[0][a]=0;s1[h+1][a]=0;}
for(a=0;a<=h;a++){s1[a][0]=0;s1[a][w+1]=0;}
gc(x,y,6,0);
printf("%d",n);
return0;
}
『叄』 noip初賽試題 c語言
第十屆全國青少年信息學奧林匹克聯賽初賽試題
( 普及組 C 語言 二小時完成 )
●● 全部試題答案均要求寫在答卷紙上,寫在試卷紙上一律無效 ●●
一.選擇一個正確答案代碼(A/B/C/D/E),填入每題的括弧內 (每題1.5分, 共30分)
1. 美籍匈牙利數學家馮·諾依曼對計算機科學發展所做出的貢獻是( )。
A. 提出理想計算機的數學模型,成為計算機科學的理論基礎。
B. 是世界上第一個編寫計算機程序的人。
C. 提出存儲程序工作原理,並設計出第一台具有存儲程序功能的計算機EDVAC。
D. 採用集成電路作為計算機的主要功能部件。
E. 指出計算機性能將以每兩年翻一番的速度向前發展。
2. 下列哪個不是CPU(中央處理單元)( )。
A. Intel Itanium B. DDR SDRAM C. AMD Athlon64
D. AMD Opteron E. IBM Power 5
3. 下列網路上常用的名字縮寫對應的中文解釋錯誤的是( )。
A. WWW(World Wide Web):萬維網。
B. URL(Uniform Resource Locator):統一資源定位器。
C. HTTP(Hypertext Transfer Protocol):超文本傳輸協議。
D. FTP(File Transfer Protocol):快速傳輸協議。
E. TCP(Transfer Control Protocol):傳輸控制協議。
4. 下面哪個部件對於個人桌面電腦的正常運行不是必需的( )。
A. CPU B. 圖形卡(顯卡) C. 光碟機 D. 主板 E. 內存
5. 下列哪個軟體屬於操作系統軟體( )。
A. Microsoft Word B. 金山詞霸 C. Foxmail D. WinRAR E. Red Hat Linux
6. 下列哪個不是計算機的存儲設備( )。
A. 文件管理器 B. 內存 C. 高速緩存 D. 硬碟 E. U盤
7. 下列說法中錯誤的是( )。
A. CPU的基本功能就是執行指令。
B. CPU訪問內存的速度快於訪問高速緩存的速度。
C. CPU的主頻是指CPU在1秒內完成的指令周期數。
D. 在一台計算機內部,一個內存地址編碼對應唯一的一個內存單元。
E. 數據匯流排的寬度決定了一次傳遞數據量的大小,是影響計算機性能的因素之一。
8. 彩色顯示器所顯示的五彩斑斕的色彩,是由紅色、藍色和( )色混合而成的。
A. 紫 B. 白 C. 黑 D. 綠 E. 橙
9. 用靜電吸附墨粉後轉移到紙張上,是哪種輸出設備的工作方式( )。
A. 針式列印機 B. 噴墨列印機 C. 激光列印機 D. 筆式繪圖儀 E. 噴墨繪圖儀
10. 一台計算機如果要利用電話線上網,就必須配置能夠對數字信號和模擬信號進行相互轉換的設備,這種設備是( )。
A. 數據機 B. 路由器 C. 網卡 D. 網關 E. 網橋
11. 下列哪個不是資料庫軟體的名稱( )。
A. MySQL B. SQL Server C. Oracle D. 金山影霸 E. Foxpro
12. 下列哪個程序設計語言不支持面向對象程序設計方法( )。
A. C++ B. Object Pascal C. C D. Smalltalk E. Java
13. 由3個a,1個b和2個c構成的所有字元串中,包含子串「abc」的共有( )個。
A. 20 B. 8 C. 16 D. 12 E. 24
14. 某個車站呈狹長形,寬度只能容下一台車,並且只有一個出入口。已知某時刻該車站狀態為空,從這一時刻開始的出入記錄為:「進,出,進,進,出,進,進,進,出,出,進,出」。假設車輛入站的順序為1,2,3,……,則車輛出站的順序為( )。
A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7 C. 1, 3, 5, 4, 6 D. 1, 3, 5, 6, 7 E. 1, 3, 6, 5, 7
15. 二叉樹T,已知其前序遍歷序列為1 2 4 3 5 7 6,中序遍歷序列為4 2 1 5 7 3 6,則其後序遍歷序列為( )。
A. 4 2 5 7 6 3 1 B. 4 2 7 5 6 3 1 C. 4 2 7 5 3 6 1 D. 4 7 2 3 5 6 1 E. 4 5 2 6 3 7 1
16. 滿二叉樹的葉結點個數為N,則它的結點總數為( )。
A. N B. 2 * N C. 2 * N – 1 D. 2 * N + 1 E. 2N – 1
17. 十進制數2004等值於八進制數( )。
A. 3077 B. 3724 C. 2766 D. 4002 E. 3755
18. (2004)10 + (32)16的結果是( )。
A. (2036)10 B. (2054)16 C. (4006)10 D. (100000000110)2 E. (2036)16
19. 在下圖中,從頂點( )出發存在一條路徑可以遍歷圖中的每條邊一次,而且僅遍歷一次。
A. A點 B. B點 C. C點 D. D點 E. E點
20. 某大學計算機專業的必修課及其先修課程如下表所示:
課程代號 C0 C1 C2 C3 C4 C5 C6 C7
課程名稱 高等數學 程序設計語言 離散數學 數據結構 編譯技術 操作系統 普通物理 計算機原理
先修課程 C0, C1 C1, C2 C3 C3, C7 C0 C6
請你判斷下列課程安排方案哪個是不合理的( )。
A. C0, C6, C7, C1, C2, C3, C4, C5 B. C0, C1, C2, C3, C4, C6, C7, C5
C. C0, C1, C6, C7, C2, C3, C4, C5 D. C0, C1, C6, C7, C5, C2, C3, C4
E. C0, C1, C2, C3, C6, C7, C5, C4
二.問題求解 (每題5分,共10分)
1. 一個傢具公司生產桌子和椅子。現在有113個單位的木材。每張桌子要使用20個單位的木材,售價是30元;每張椅子要使用16個單位的木材,售價是20元。使用已有的木材生產桌椅(不一定要把木材用光),最多可以賣 元錢。
2. 75名兒童到游樂場去玩。他們可以騎旋轉木馬,坐滑行鐵道,乘宇宙飛船。已知其中20人這三種東西都玩過,55人至少玩過其中的兩種。若每樣乘坐一次的費用是5元,游樂場總共收入700,可知有 名兒童沒有玩過其中任何一種。
三.閱讀程序 (每題8分,共32分)
1.#include <stdio.h>
int main(){
int a = 79, b = 34, c = 57, d = 0, e = -1;
if (a < c || b > c) d = d + e;
else if (d + 10 < e) d = e + 10;
else d = e - a;
printf("%d\n", d);
return 0;
}
輸出: 。
2.#include <stdio.h>
int main(){
int i, j;
char str1[] = "pig-is-stupid";
char str2[] = "clever";
str1[0] = 'd'; str1[1] = 'o';
for (i = 7, j = 0; j < 6; i++, j++)
str1[i] = str2[j];
printf("%s\n", str1);
return 0;
}
輸出: 。
3.#include <stdio.h>
int main(){
int u[4], a, b, c, x, y, z;
scanf("%d %d %d %d",&(u[0]), &(u[1]), &(u[2]), &(u[3]));
a = u[0] + u[1] + u[2] + u[3] - 5;
b = u[0] * (u[1] - u[2] / u[3] + 8);
c = u[0] * u[1] / u[2] * u[3];
x = (a + b + 2) * 3 - u[(c + 3) % 4];
y = (c * 100 - 13) / a / (u[b % 3] * 5);
if ((x + y) % 2 == 0) z = (a + b + c + x + y) / 2;
z = (a + b + c – x - y) * 2;
printf("%d\n", x + y - z);
return 0;
}
輸入:2 5 7 4
輸出: 。
4.#include <stdio.h>
char c[3][200];
int s[10], m, n;
void numara(){
int i, j, cod, nr;
for (j = 0; j < n; j++){
nr = 0; cod = 1;
for (i = 0; i < m; i++){
if (c[i][j] == '1'){
if (!cod){cod = 1; s[nr]++; nr = 0;}
}
else{
if (cod){nr = 1; cod = 0;}
else nr++;
}
}
if (!cod) s[nr]++;
}
}
int main(){
int i;
scanf("%d %d\n", &m, &n);
for (i = 0; i < m; i++) gets(c[i]);
numara();
for (i = 1; i <= m; i++)
if (s[i] != 0) printf("%d %d ", i, s[i]);
return 0;
}
輸入:
3 10
1110000111
1100001111
1000000011
輸出: 。
四、完善程序 (前4空,每空2分,後5空,每空4分,共28分)
1.三角形內切圓的面積
題目描述:
給出三角形三邊的邊長,求此三角形內切圓(如下圖所示,三角形的內切圓是和三角形三邊都相切的圓)的面積。
輸入:
三個正實數a、b、c(滿足a+b>c,b+c>a,c+a>b), 表示三角形三邊的邊長。
輸出:
三角形內切圓的面積,結果四捨五入到小數點後面2位。
輸入樣例:
3 4 5
輸出樣例:
3.14
程序:
#include <stdio.h>
#include <math.h>
int main(){
float a, b, c, r, s, t;
scanf("%f %f %f", &a, &b, &c);
s = ( ① ) / 2;
t = ② (s * (s - a) * (s - b) * (s - c));
r = t / s;
printf(" ③ \n", 3.1415927 * r * ④ );
return 0;
}
2.Joseph
題目描述:
原始的Joseph問題的描述如下:有n個人圍坐在一個圓桌周圍,把這n個人依次編號為1,…,n。從編號是1的人開始報數,數到第m個人出列,然後從出列的下一個人重新開始報數,數到第m個人又出列,…,如此反復直到所有的人全部出列為止。比如當n=6,m=5的時候,出列的順序依次是5,4,6,2,3,1。
現在的問題是:假設有k個好人和k個壞人。好人的編號的1到k,壞人的編號是k+1到2k。我們希望求出m的最小值,使得最先出列的k個人都是壞人。
輸入:
僅有的一個數字是k(0 < k <14)。
輸出:
使得最先出列的k個人都是壞人的m的最小值。
輸入樣例:
4
輸出樣例:
30
程序:
#include <stdio.h>
long k, m, begin;
int check(long remain){
long result = ( ① ) % remain;
if ( ② ){
begin = result; return 1;
}
else return 0;
}
int main(){
long i, find = 0;
scanf("%ld", &k);
m = k;
while( ③ ) {
find = 1; begin = 0;
for (i = 0; i < k; i++)
if (!check( ④ )){
find = 0; break;
}
m++;
}
printf("%ld\n", ⑤ );
return 0;
}
賽區 市 學校 姓名
========================== 密 封 線 =======================
第九屆全國青少年信息學奧林匹克聯賽初賽試題
普及組答卷紙
閱 卷 記 錄
總閱卷人 總 得 分
第 一 大 題 得 分 第二大題得分
題號 1 2 3 4 5 6 7 8 9 10 第三大題得分
得分 1) 2) 3) 4)
題號 11 12 13 14 15 16 17 18 19 20 第四大題得分
得分 (1) (2)
============================ 以下由考生填寫 ==============================
答卷部分
一. 選擇一個正確答案代碼(A/B/C/D),填入每題的括弧內 (每題1.5分,多選無分, 共30 分)
題號 1 2 3 4 5 6 7 8 9 10
選擇
題號 11 12 13 14 15 16 17 18 19 20
選擇
二.問題解答 (每題5分,共10分)
1. 答:
2. 答:
三. 閱讀程序,並寫出程序的正確運行結果:(每題8分,共32分)
(1) 程序的運行結果是:
(2) 程序的運行結果是:
賽區 市 學校 姓名
========================== 密 封 線 =======================
(3) 程序的運行結果是:
(4)程序的運行結果是:
四.根據題意, 將程序補充完整 (前4空,每空2分,後5空,每空4分,共28分)
C 語言
=================
1.
①
②
③
④
2.
①
②
③
④
⑤
第九屆全國青少年信息學奧林匹克聯賽初賽試題
普及組參考答案
一. 選擇一個正確答案代碼(A/B/C/D/E),填入每題的括弧內 (每題1.5分,多選無分, 共30 分)
題號 1 2 3 4 5 6 7 8 9 10
選擇 C B D C E A B D C A
題號 11 12 13 14 15 16 17 18 19 20
選擇 D C D E B C B D E D
二.問題解答 (每題5分,共10分)
1. 答: 160
2. 答: 10
三. 閱讀程序,並寫出程序的正確運行結果:(每題8分,共32分)
(1)程序的運行結果是: -80
(2) 程序的運行結果是: dog-is-clever
(3)程序的運行結果是: 263
(4)程序的運行結果是: 1 4 2 1 3 3
四.根據題意, 將程序補充完整 (前4空,每空2分,後5空,每空4分,共28分)
C 語言
=================
1.
① a+b+c
② sqrt
③ %.2f
④ r
2.
① begin+m-1
② result>=k (或者k<=result)
③ !find (或者 find==0)
④ 2*k-i
⑤ m-1
『肆』 懸賞10分,C語言的高手嗎第十一屆全國青少年信息學奧賽程序題第四題,有誰知道怎麼做嗎
慢慢跟蹤就是了
main()
{long x,x2;
printf("Input a number:\n");
scanf("%ld",&x);
x2=1;
while(x2<x) //進入循環 一直到x2=10000000
x2*=10;
x2/=10; //然後x2=1000000
digit(x,x2);
printf("\n");
}
下面就進入遞歸了
取余得到6254379
到這里 要注意
if(m>1)
digit(n/10,m/10);
printf("%2ld",n%10);
其實 語句一直在遞歸里轉圈 在遞歸調用後的print語句一值沒有用 這就要從里到外一次 使用遞歸後的print了
最內層 n%10 =9
倒數第二層為7
然後回來
就是這樣 呵呵
區別很大
digit(n/10,m/10)只是給函數傳參數n/10與m/10
digit(n=n/10,m=m/10)是 先吧n變成n/10,這里n的值變了 上面沒有變
『伍』 誰有歷屆全國青少年信息學奧賽試題(初賽C語言)
我也是10月20日去參賽NOIP的啊,去在
www.noi.cn
仔細找,有答案有題目