日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

山东理工大学单元测试2重现

發布時間:2024/3/12 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 山东理工大学单元测试2重现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本次單元測試雖然較第一次機測難度增加,但整體難度與平時pta練習相比,難度并不大,一些細節同學們在考試時容易忽略,本次八道題,可關注第四題的簡便公式,以及第七題的注意事項和第八題運行超時的解決辦法。

7-1 sdut-C語言實驗-A+B for Input-Output Practice (不確定次數循環)
分數 10
作者 馬新娟
單位 山東理工大學
Your task is to Calculate a + b.

Too easy?! Of course! I specially designed the problem for acm beginners.

You must have found that some problems have the same titles with this one, yes, all these problems were designed for the same aim.

輸入格式:
The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.

輸出格式:
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

輸入樣例:
1 5
10 20
輸出樣例:
在這里給出相應的輸出。例如:

6
30
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題為為循環題最最最基礎題,不過多贅述。 #include<stdio.h> int main() {int a,b;while(scanf("%d %d\n",&a,&b)!=EOF){printf("%d\n",a+b);} return 0; }

7-2 sdut-C語言實驗-數位數
分數 12
作者 馬新娟
單位 山東理工大學
給定一個正整數 n ,請你求出它的位數。

輸入格式:
單組輸入,輸入一個整數 n 。(1<= n <= 2147483647)

輸出格式:
輸出一行,包含一個整數,即為 n 的位數。

輸入樣例:
1234567
輸出樣例:
在這里給出相應的輸出。例如:

7
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題仍為for循環最基本題型, 不過多贅述。 #include<stdio.h> int main() {int a=0,n;scanf("%d",&n);while(n>0){n=n/10;a++;} printf("%d",a); return 0; }

7-3 sdut-C語言實驗- 分段函數求值
分數 13
作者 馬新娟
單位 山東理工大學
有如下分段函數
F(x) = x^2 + 1 當x> 0時;
F(x) = -x 當x<0時;
F(x) = 100.0 當x=0時;
編程根據輸入的不同x(x為實數),輸出其對應的函數值。

輸入格式:
多組輸入,每組一個實數x。處理到文件結束。

輸出格式:
對于每組輸入x,輸出其對應的F(x),每組一行,結果保留1位小數。

輸入樣例:
8.00
-5.0
輸出樣例:
在這里給出相應的輸出。例如:

65.0
5.0
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題考查循環語句嵌套選擇語句 解決分段函數, 仍沒有難度,可跳過。 #include<stdio.h> int main() { double x,f;while(scanf("%lf\n",&x)!=EOF){if(x>0){f=x*x+1;}if(x<0){f=-x;}if(x==0){f=100.0;}printf("%.1f\n",f);} return 0; }

7-4 sdut-C語言實驗-最大公約數與最小公倍數
分數 15
作者 馬新娟
單位 山東理工大學
求兩個正整數的最大公約數與最小公倍數。

輸入格式:
輸入在一行中給出兩個正整數M和N(≤1000)。

輸出格式:
第一行輸出最大公約數;
第二行輸出最小公倍數。

輸入樣例:
9 21
輸出樣例:
3
63
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題需要了解什么是最大公約數什么是最小公倍數, 還要了解最小公倍數利用最大公約數的求法, 即:兩個數m,n他們的最大公約數為t, 那么最小公倍數為m*n/t, 此公式可大大降低題目難度,并節省時間。 #include<stdio.h> int main() {int a,b, i,min, m,n;scanf("%d %d",&m,&n);if(m>n){min=n;}else if(m<n){min=m;} for(i=1;i<=min;i++) {if(m%i==0&&n%i==0){a=i;} }b=(m*n)/a;printf("%d\n%d",a,b);return 0;}

7-5 sdut- C語言實驗-計算1到n的和(循環結構)
分數 10
作者 馬新娟
單位 山東理工大學
從鍵盤上輸入任意一個整數n,計算1到n的和。

輸入格式:
從鍵盤輸入任意整數n。

輸出格式:
輸出1到n的和。

輸入樣例:
在這里給出一組輸入。例如:

3
輸出樣例:
在這里給出相應的輸出。例如:

6
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題為for循環基本題,不過多贅述。 #include<stdio.h> int main() {int a=0,t,n,i;scanf("%d",&n);for(i=1;i<=n;i++){a=a+i;}printf("%d",a);return 0; }

7-6 sdut-C語言實驗- 簡單計算
分數 12
作者 馬新娟
單位 山東理工大學
接受從鍵盤輸入的N個整數,輸出其中的最大值、最小值和平均值(平均值為整除的商)。

輸入格式:
第一行一個正整數N(N<=100);
第二行有N個用空格隔開的整數Ti (1 <= i <= N, 0 <= Ti <= 10000000)

輸出格式:
三個有空格隔開的整數分別為最大值、最小值和平均值,其中平均值為整除的商。

輸入樣例:
在這里給出一組輸入。例如:

5
1 2 3 5 4
輸出樣例:
在這里給出相應的輸出。例如:

5 1 3
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題難度不大, 注意當i==1時,對max和min的賦值, 然后在接下來的循環比較。 注意對sum的初始化賦值。 #include<stdio.h> int main() {int sum=0,max,min,n,a ,i;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&a);if(i==1){max=a;min=a;}else if(i!=1){if(a>max){max=a;} if(a<min) {min=a; }}sum=sum+a;} printf("%d %d %d",max,min,sum/n);return 0; }

7-7 sdut -C語言實驗 - 水仙花數
分數 13
作者 馬新娟
單位 山東理工大學
水仙花的花語是“敬意”。在春節時,很多地方的人喜歡把親手培育的水仙花送給自己最尊敬的人。
數學中研究“水仙花數”也是很有趣味的。“水仙花數”是指一個 3 位數,它的每個位上的數字的 3次冪之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
現在要求輸出所有在 m 和 n 范圍內的水仙花數。

輸入格式:
輸入數據有多組,每組占一行,包括兩個整數 m 和 n(100≤m≤n≤999)

輸出格式:
對于每個測試實例,要求輸出所有在給定范圍內的水仙花數,就是說,輸出的水仙花數必須大于等于 m,并且小于等于 n,如果有多個,則要求從小到大排列在一行內輸出,之間用一個空格隔開;最后一個數據后面也有空格輸出。

如果給定的范圍內不存在水仙花數,則輸出 no。

每個測試實例的輸出占一行。

輸入樣例:
100 120
300 380
輸出樣例:
no
370 371
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題相較于平時練習所做的水仙花相比,難度大大降低, 很多同學未得分原因原因在于把題目復雜化了 此題已要求輸入值為三位數,那么他們的指數也確定了, 邏輯較練習的水仙花題目簡單許多,在考試過程中,思維固化是失分原因, 要注意新題與舊題的區別。 #include<stdio.h> int main() {int m,n,i,j;while(scanf("%d %d",&m,&n)!=EOF){int num=0;for(i=m;i<=n;i++){int sum=0;int t=i;int y,z;for(;t>0;t=t/10){j=t%10;for(z=1,y=1;y<=3;y++)z=z*j;sum=sum+z;}if(sum==i){printf("%d ",sum);num++;}}if(num!=0)printf("\n");if(num==0) printf("no\n");num=0;}return 0; }

7-8 sdut-C語言實驗-哥德巴赫猜想
分數 15
作者 馬新娟
單位 山東理工大學
自然科學的皇后是數學,數學的皇冠是數論;哥德巴赫猜想,則是皇冠上的明珠。
一七四二年,德國數學家哥德巴赫發現,每一個大偶數都可以寫成兩個素數的和,有些偶數可以分解成多對素數的和。例如:10=3+7,10=5+5,即10可以分解為2對不同素數的和,但他和歐拉有生之年都不能夠證明它。從此,這成了一道難題,吸引了成千上萬數學家的注意。兩百多年來,多少數學家企圖給這個猜想作出證明,都沒有成功。
我國著名數學家陳景潤先生畢生投身到數學研究中,為中國乃至世界數學的研究做出了杰出的貢獻,尤其對哥德巴赫猜想的證明做了有效的推動。
下面讓我們編程來測試一下哥德巴赫猜想吧。輸入一個大于6的正整數n,編程統計偶數n可以分解為多少對不同的素數之和。

輸入格式:
輸入一個正整數n(6 <= n <= 32767)。

輸出格式:
輸出n可以分解的素數對數。

輸入樣例:
10
輸出樣例:
在這里給出相應的輸出。例如:

2
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB

此題題目很長,但實則紙老虎,前面的文字都是在鋪墊背景,實際題目不難,但要注意的是, 此題如果邏輯復雜,會導致第四和第五測試點運行超時,這是很多同學得部分正確的原因, 很多同學在定義for()時,會讓i=1;i<=n; 其實,i在達到n/2時,再往后就不會有素數了, 因此讓i<=n/2會降低運行超時的可能。 同時在定義for時,盡量讓i=0;i<n; #include<stdio.h> int main() {int j,i,n,a,b,t,m,u=0;scanf("%d",&n);for(i=1;i<=n/2;i++){a=0;b=0;for(j=2;j<i;j++){if(i%j==0){break;}} if(j==i){t=n-i;for(m=1;m<=t;m++){if(t%m==0){b++; }}if(b==2){u++; }} }printf("%d",u); return 0; }```

總結

以上是生活随笔為你收集整理的山东理工大学单元测试2重现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。