UESTC 數院18級 C語言上機作業3 題解

2021-09-17 21:44:17 字數 2017 閱讀 7737

先給大家表演乙個土下座道歉,我a題讀錯題了,已更正……嗚嗚嗚

a,值得注意的是不要用系統自帶的pow函式求冪,因為這個函式是以double型別操作的,轉化成我們要的long long 或者int 都有精度上的誤差,所以需要你手擼乙個求冪函式,這裡給出普通的迴圈求冪的函式(之前寫的快速冪還是難理解了點),至於具體操作流程詳情見**片注釋

#include#include#define maxn 20

long long t, n, num[maxn], cnt;

long long pow(int x, int p) //迴圈求x的p次方

void solve(long long x) //這一步是把輸入的整數拆分成每乙個數字,陣列num存

}void check() //檢查能不能轉化

int main()

return 0;}/*

樣例資料:686

153450

8208

54748

481586

*/

b,按照題目乙個乙個模擬就行了,我們用1表示開燈,0表示關燈,在a[i]位置的改變關係是a[i] = 1 - a[i];這樣就能使1變成0或者0變成1

#include#include#define maxn 1005

int t, n, k, a[maxn];

int main()

for(int i=1; i<=n; i++)

if(a[i]==1)

printf("%d ", i);

printf("\n");

}return 0;}/*

37 3

15 10

20 7

*/

c,典型的走迷宮的題目,這需要同學自己打草稿看看向下向左向上向右的座標移動是什麼樣的比如向下的話是x+1,y不變(x這裡表示行座標),所以記dx[0]=1, dy[0]=0;以此類推,需要兩個大小至少為4的陣列分別存方向,然後就是模擬,到邊界條件就轉向。

邊界條件:1是陣列越界,2是遇到曾經走過的點,因為我們初始化沒走過的點賦值為0,所以只要遇到下乙個點值不為零就轉向

#include#include#define maxn 25

int t, n, k, a[maxn][maxn];

int dx[4] = ;

int dy[4] = ;

//4個(dx, dy)分別執行向下,向左,向上,向右的操作

void solve()

}int main()

}return 0;}/*

5123

45*/

d,很簡單的一題,**也超級短,但是公式需要手推,在草稿上演算一下,題意要1/n = 1/a + 1/b,就是說在試驗a滿不滿足條件時需要

1/b = 1/n - 1/a

即 1/b = (a-n) / (an)

所以 b = (an) / (a-n) 是乙個整數就滿足條件,得到a和b,按要求列印結果就是了

#includeint n;

int main()

return 0;}/*

12*/

e,也是需要你推時針的度數和分針的度數(公式自推)並做差處理,**說話

#include#includeint t, h, m, d_h, d_m, ans;     //h,m表示此時的時刻,d_h和d_m表示度數

char ch;

int main()

printf("%d\n", ans/2); //如果偶數,ans先除以2再列印

}return 0;}/*

100:00

*/

揭秘 二級C語言上機考試評分原理

上機考試是由計算機對考生的答題結果進行判斷的,而不是人為閱卷,即計算機評分!等級考試的上機考試是分批進行的,在相鄰兩批考次之間,由監考人員做該批考次結束前的 收分 工作 實際上是由計算機完成的 也就是說,當你考完機試後,你的上機成績就已經出來了,只是我們不知道結果罷了。當然,監考人員也不知道,因為最...

二級c語言關係表示式 C語言學習記錄(18)

繼續講解!c語言提供了while語句 do while語句和for語句實現迴圈結構。讓我們來逐個學習!這些語句是必須熟練掌握的!for語句很好地體現了正確表達迴圈結構應注意的三個問題!1 控制變數的初始化。2 迴圈的條件。3 迴圈控制變數的更新。表示式1 一般為賦值表示式,給控制變數賦初值 表示式2...

廈大C語言上機 1510 小明的隨機數

小明的隨機數 描述小明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 注意 你提交的 將被插入到以下程式框架中一起編譯,所以請不要提交全部 可以增加自定義函式。固定頭部開始 include define n 100 固定頭部結束 你的 開始...