全國高校計算機能力挑戰賽C語言程式設計題

2021-10-11 08:11:27 字數 4483 閱讀 8985

1、

#define _crt_secure_no_warnings 1

#include

#include

#include

//16.輸入一行由字元a~z和a~z組成的字串,字串長度 <= 10000,求其中任意兩個字元出現次數的差值的絕對值

//輸入 :

//第一行輸入字串第二行輸入兩個字元。輸出 :

//輸出這兩個字元出現次數的差值的絕對值輸入樣例 :

//abddedfacd

//a d

//輸出樣例 :

//2//(解釋 : 字串中字元'a'出現了2次,字元'd'出現了4次,則結果為 2 - 4 = 2)

//判斷輸入是否為a-z,a-z

void

judgeinput

(char

* a,

int len)

else}}

//計算出現次數

intfrequencychar

(char

* m,

int len,

char a)

m++;}

return count;

}int

main()

;gets

(arr)

;int len =

strlen

(arr)

;judgeinput

(arr, len)

;// int len = sizeof(arr) / sizeof(arr[0]);

char a=

0, b=0;

scanf

("%c %c"

,&a,

&b);

int i =

frequencychar

(arr, len, a)

;int j =

frequencychar

(arr, len, b)

;printf

("%d\n"

,abs

(i - j));

// printf("%c %c", a, b);

return0;

}

2、

#define _crt_secure_no_warnings 1

#include

#include

//若有非零整數a、b、c,將其組成兩個等式(a@b)#c = 24、a@(b#c) = 24,其中@和#為運算符號'+'、'-'、"*、'/'、'%'之一,

//同一符號可選擇一次或多次,如果這兩個等式至少有乙個成立,則輸出yes,否則輸出no。

//輸入:

//第一行輸入正整數n,表示有n組資料。(n<1000)

//其後n行每行輸入非零整數a、b、c(-1e5 <= a、b、c <= 1e5)

//輸出 :

//如果兩個等式至少有乙個成立,則輸出yes,否則輸出no,每組資料的輸出佔一行。

//樣例輸入 :

//3//4 1 6

//3 4 5

//6 3 12

//樣例輸出 :

//yes

//no

//yes

//(注意,在該題中整數 / 整數,取結果的整數部分,例如1 / 4 = 0)

//判斷輸入資料合法性

intjudgenum

(int n,

int*

* arr)

//-1e5 <= a、b、c <= 1e5

for(

int i =

0; i < n; i++)}

}return0;

}//可選的運算子

intoperation

(int a,

int b,

int input)

return0;

}//分組運算

void

conposeoperation

(int

**arr,

int n)}if

(num1 ==

24|| num2 ==24)

}//若全部遍歷完運算子都不是24

if(input1 ==6)

}}intmain()

for(

int i =

0; i < n; i++

)judgenum

(n, arr)

;conposeoperation

(arr, n)

;//釋放空間和指標置空

free

(arr)

; arr =

null

;return0;

}

3、

#define _crt_secure_no_warnings 1

#include

#include

//若有乙個區間[m,n],求區間(包括兩端點m、n)內所有數中不含數字k的數的和

//輸入:

//輸入正整數m、n、k(m、n <= 1e8, 0 <= k <= 9)

//輸入 :

//輸出區間內不含數字k的數的和,結果對1000000007取模

//樣例輸入 :

//10 20 0

//樣例輸出 :

//135

//判斷輸入資料合法性

void

judgerange

(int m,

int n,

int k)

if(n >

pow(10,

8))if

(m > n)

if(k<

0&& k>9)

}//計算資料位數

intcalculatedigit

(int i)

else

}return0;

}//計算區間[m,n]中沒有數字k資料的和

intnonumk

(int m,

int n,

int k)

a = a /10;

}if(j == dige)

}return count;

}//最終結果:對1000000007取模

intresult

(int sum)

intmain()

4、

#define _crt_secure_no_warnings 1

#include

#include

//輸入乙個正整數n(1 <= n<10000), 接下來輸入這n個正整數序列,再輸入乙個正整數

//k(1 <= k <= 100), 其後跟k行操作,每行操作包括兩個正整數i和j(1 <= i <= j <= n),

//表示將區間[i中的元素刪除,操作結束後輸出最終的正整數序列。

//輸入 :

//第一行輸入n

//第二行輸入n個正整數

//第三行輸入k

//其後k行每行輸入兩個正整數

//輸出 :

//輸出操作結束後的最終序列,相鄰兩數之間以乙個空格分隔。

//樣例輸入 :

//10

//1 2 3 4 5 6 7 8 9 10

//2//1 3

//8 10

//樣例輸出 :

//4 5 6 7

//將[i,j]範圍內數字置為0

void

deletenum

(int arr,

int i,

int j)

}//將除了0之外的數字放入陣列arr2中

void

result

(int arr,

int arr2,

int n)}}

intmain()

printf

("\n");

int k =0;

scanf

("%d"

,&k)

;int i =0;

int j =0;

int count =0;

for(

int m =

0; m < k; m++

)//動態開闢記憶體arr2

int* arr2 =

(int*)

malloc

(sizeof

(int)*

(n - count));

result

(arr, arr2, n)

;for

(int i =

0; i < n-count; i++

)free

(arr)

;free

(arr2)

; arr =

null

; arr2 =

null

;return0;

}

2019全國高校計算機能力挑戰賽

初賽題解 決賽題解 1 自動編碼。給乙個字串,裡面含有數字字元,將數字加3後模10的結果放在原位上。即 1 變成 4 2 變成 5 9 變成 2 請輸出變換後的字串。輸入說明 乙個字串 長度小於255 輸出說明 按照題目規則變換後得到的字串行。輸入樣例 2012 09 05a 輸出樣例 5345 3...

2020全國高校計算機能力挑戰賽(word模擬題)

1.當前 是病毒傳播的最主要途徑。答案 網路 2.下列敘述不正確的是 a.internet上的網域名稱由網域名稱系統dns統一管理 b.www上的每乙個網頁都可以加入收藏夾 c.每乙個e mail位址在internet中是唯一的 d.每乙個e mail位址中的使用者名稱在該郵件伺服器中可以不是唯一的...

首屆 2016 全國高校密碼數學挑戰賽 賽題三

github賬號 hmy626 實驗題目 rsa加密體制破譯 實驗摘要 l實驗要求 通過對rsa的破解實戰,提公升我們對於rsa公鑰加密的理解,並且鍛鍊自己的演算法,掌握對於rsa常見的幾種攻擊例如選擇密文攻擊 公共模數攻擊 低加密指數攻擊 低解密指數攻擊等等。l實驗目的 利用所給的例子 例3 1 ...