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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2020级CHD新生训练题题解

發布時間:2023/12/18 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020级CHD新生训练题题解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這次的題解大多是用的C語言的輸入輸出,如果對C語言的基礎語法不太熟悉可以看lxh的這篇博客
C語言入門簡介

A HDU1000

水題注意代碼的規范性即可

#include <iostream> using namespace std; int main(){int a,b;while(cin>>a>>b){cout<<a+b<<endl;}return 0;}

B HDU1001

注意一下C和C++多組輸入的格式

#include <iostream> #include<cstdio> using namespace std; int main() {int n;while(scanf("%d",&n)!=EOF){int sum=0;for(int i=1;i<=n;i++) sum+=i;printf("%d\n\n",sum);}return 0; }

C HDU2001

sqrt()函數是對內部開根號,使用此函數需要使用頭文件cmath

#include <iostream> #include<cstdio> #include<cmath> using namespace std; int main() {double x1,y1,x2,y2;while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF){printf("%.2lf\n",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));}return 0;}

D HDU2003

這里可以記一下C保留小數的方法

#include <iostream> #include<cstdio> using namespace std; int main() {double n;while(scanf("%lf",&n)!=EOF){if(n<0) printf("%.2lf\n",-n);else printf("%.2lf\n",n);}return 0; }

E HDU2004

可能第一時間會想到用switch做,但其實有更好的辦法。設置字符數組,讓對應的分數區間對應到相應的成績即可

#include <iostream> #include<cstdio> using namespace std; int main() {int score;char jilu[] = "EEEEEEDCBAA";while(scanf("%d", &score) != EOF) {if(score < 0 || score > 100)printf("Score is error!\n");elseprintf("%c\n", jilu[score/10]); //score是int形,score/10會自動下取整}return 0; }

F HDU2006

這題沒啥好說的

#include <cstdio> #include<iostream> int main() {int n,a,sum;while(scanf("%d",&n)!= EOF){sum = 1;for(int i=1;i<=n;i++){scanf("%d",&a);if(a%2)sum *= a;}printf("%d\n",sum);}return 0;}

G HDU2039

水題

#include <iostream> #include <cstdio> using namespace std; int main() {int M;double a, b, c;//注意題目給的是正數而非整數scanf("%d", &M);while (M--) {scanf("%lf%lf%lf", &a, &b, &c);printf("%s\n", ((a+b>c)&&(a+c>b)&&(b+c>a)) ? "YES" : "NO");//三目運算符?: 自己看書理解一下}return 0; }

H HDU2023

要想到用二維數組來存儲信息,行 為一個人的各科目的成績,列 為某一科所有人的成績。這樣存儲后方便計算均值和比較

//注意題干要求輸出各科成績均大于等于平均成績的學生數量 #include<iostream> #include<cstdio> using namespace std; int main() {int m,n;int a[50][5];double stu[50],sub[5]; //sub用來存儲各科的平均成績while (cin>>n>>m){for(int i=0;i<n;i++)for(int j=0;j<m;j++)cin>>a[i][j];for(int i=0;i<n;i++){stu[i]=0;for(int j=0;j<m;j++)stu[i]+=a[i][j];stu[i]/=(m*1.0);}for(int j=0;j<m;j++){sub[j]=0;for(int i=0;i<n;i++)sub[j]+=a[i][j];sub[j]/=(n*1.0);}int sum=0,flag;for(int i=0;i<n;i++){flag=0;for(int j=0;j<m;j++){if(a[i][j]<sub[j]){flag=1;break;}}if(flag==0)sum++; //查找各科成績都大于等于平均成績的數量}for(int i=0;i<n-1;i++)printf("%.2lf ",stu[i]);printf("%.2lf\n",stu[n-1]);for(int j=0;j<m-1;j++)printf("%.2lf ",sub[j]);printf("%.2lf\n",sub[m-1]);cout<<sum<<endl;cout<<endl;} }

I HDU2012

判斷一個數n是否為素數,暴力點的做法就是從2到sqrt(n)遍歷,只要在2-sqrt(n)找到一個數可以使n被整除則n不為素數,反之則為素數。(以后學長們會講更好的方法)

#include<cstdio> #include<cmath> int main() {int x,y,i,t,j,count=0;double k;while(scanf("%d %d",&x,&y)&&(x||y)!=0){for(i=x;i<=y;i++){t=i*i+i+41;k=sqrt((double)t);for(j=2;j<=k;j++) //{if(t%j==0){count++;break;}}}if(count==0)printf("OK\n");elseprintf("Sorry\n");count=0;}return 0;

J HDU1846

經典博弈論問題,上次宣講會上的題目,要理解m+1的由來。如果n%m+1為零 則讓后手每次去湊m+1的倍數可以保證后手必勝。同理若n%m+1不為零,則先手必勝。(可以找你的室友測試一下!

#include<cstdio> int main() {int C,n,m;scanf("%d",&C);while(C--){scanf("%d%d",&n,&m);if(n%(m+1)==0) printf("second\n");else printf("first\n");} }

題目都不難,還是希望大家都能多花點時間刷題,假期也不要懈怠

總結

以上是生活随笔為你收集整理的2020级CHD新生训练题题解的全部內容,希望文章能夠幫你解決所遇到的問題。

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