ImageVerifierCode 换一换
格式:DOCX , 页数:75 ,大小:38.88KB ,
资源ID:532607      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-532607.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北方工大学程序设计专题前三章编程答案.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

北方工大学程序设计专题前三章编程答案.docx

1、北方工大学程序设计专题前三章编程答案 实验一 简单计算问题 1、数字求和 问题描述 给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少? 输入形式 输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。 输出形式 输出一行,给出一个正整数,是5个数中小于a的数的和。 样例输入 10 1 2 3 4 11 样例输出 10*/ #include int main() int a6; int i; int sum=0; for(i=0;i6;i+) scanf(%d,&ai); for(i=0;iai) sum=sum+ai; printf( %d ,su

2、m); return 0; /*2、两倍数 问题描述 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。 比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2的两倍,18是9的两倍。 输入形式 输入包括多组测试数据。每组数据包括一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。 输出形式 对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。

3、样例输入 1 4 3 2 9 7 18 22 0 2 4 8 10 0 7 5 11 13 1 3 0 -1 样例输出 3 2 0*/ # include int main(void) int a2015; int i=0,j=0,k,t,w,sum=0; scanf(%d,&t); while(t!=-1) if(t!=0) aij+=t; else aij=t; i+;j=0; scanf(%d,&t); for(k=0,j=0,w=0;ki;k+) while(akj!=0) w=0; while(akw!=0) if(float)akj/2=(float)akw) sum+; w+;

4、j+; printf(%dn,sum); sum=0; j=0; return 0; /*3、Number Sequence 问题描述 A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2) mod 7. Given A, B, and n, you are to calculate the value of f(n). 输入形式 The input consists of multiple test cases. Each test case contai

5、ns 3 integers A, B and n on a single line (1 = A, B = 1000, 1 = n = 100,000,000). Three zeros signal the end of input and this test case is not to be processed. 输出形式 For each test case, print the value of f(n) on a single line. 样例输入 1 1 3 1 2 10 0 0 0 样例输出 2 5*/ #include int main() int fun(int x); i

6、nt a,b,n; int t; scanf(d%d%d%,&a,&b,&n); while(a!=0&b!=0&n!=0) fun(n); scanf(%d%d%d,&a,&b,&n); return 0; int fun(int x) if(x=1|x=2) t=1;else t=(fun(x- 1)*a+fun(x-2)*b)%7; printf(%dn,t); return (t) 4、肿瘤检测 问题描述 一张CT扫描的灰度图像可以用一个N*N(0N100)的矩阵描述,矩阵上的每个。我们假设给定的图像中有且只有一2550,其取值范围是点对应一个灰度值(整数) 个肿瘤。在图上监测肿瘤的方

7、法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上。我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积。任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点。肿瘤的边界点的个数称为肿瘤的周长。现在给定一个图像,要求计算其中的肿瘤的面积和周长。 输入形式 输入第一行包含一个正整数N(0N100),表示图像的大小;接下来N行,每行包含图像的一行。图像的一行用N个整数表示(所有整数大于等于0,小于等于255),两个整数之间用一个空格隔开。 输出形式 输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积

8、和周长,用一个空格分开。 样例输入 6 99 99 99 99 99 99 99 99 99 50 99 99 99 99 49 49 50 51 99 50 20 25 52 99 40 50 99 99 99 99 99 99 99 99 99 99 样例输出 9 8 测试数据2: 样例输入 7 99 99 99 99 99 99 65 99 99 99 50 99 99 25 99 99 49 49 50 49 34 99 50 20 25 52 99 38 40 50 99 99 99 99 35 99 99 99 99 99 99 55 99 99 99 99 99 99 77 样例

9、输出 14 13 #include int main() int a200200; int i,j,size=0,circle=0; int n; scanf(%d,&n); for(i=0;in;i+) for(j=0;jn;j+) scanf(-,&aij); for(i=0;in;i+) for(j=0;jn;j+) if(aij50) circle+;- 1j50|ai+1j50|aij+150|aij- else if(ai printf(%d %d,size,circle); return 0; 5、填词 问题描述 Alex喜欢填词游戏。填词是游戏是一个非常简单的游戏。填词游戏包括

10、一个N * M大小的矩形方格盘和P个单词。玩家需要把每个方格中填上一个字母使得每个单词都能在方格盘上找到。每个单词都能找到要满足下面的条件: 每个方格都不能同时属于超过一个的单词。一个长为k的单词一定要占据k个方格。单词在方格盘中出现的方向只能是竖直的或者水平的。 你的任务是首先在方格盘上找到所有的单词,当然在棋盘上可能有些方格没有被单词占据。然后把这些没有用的方格找出来,把这些方格上的字母按照字典序组成一个“神秘单词”。 如果你还不了解规则,我们可以具一个例子,比如在下图中寻找单词BEG和GEE。 输入形式。接下 0 = P =100),和P (2 = M, N = 10N输入的第一行包括三

11、个整数,M行给出需要在方格盘中找到P个字符,来表示方格盘。接下来N行,每行包括M来的 的单词。 输入保证填词游戏至少有一组答案。 输入中给出的字母都是大写字母。 输出形式 ”,注意“神秘单词”中的字母要按照字典序给出。神秘单词输出“ 样例输入 3 3 2 EBG GEE EGE BEG GEE 样例输出 EEG #include #include int main() int ch26; memset(ch,0,sizeof(ch); int i,n,m,p; char str200; char c; scanf(%d%d%d,&n,&m,&p); while(n-) scanf(%s,str

12、); for(i=0;stri!=0;i+) chstri-A+; while(p-) scanf(%s,str); for(i=0;stri!=0;i+) chstri-A-; for(i=0;i26;i+) if(chi!=0) while(chi-) c=A+i; printf(%c,c); return 0; 6、垂直直方图 问题描述 输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。注意:只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。 输入形式 输入包括4行由大写字母组成的文本,每行上字符的数目不超过80个。 输出形式 输出包括若干

13、行。其中最后一行给出26个大写英文字母,这些字母之间用空格隔开。前面的几行包括空格和星号,每个字母出现几次,就在这个字母的上方输出一个星号。注意:输出的第一行不能是空行。 样例输入 THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HISTOGRAM PROGRAM. HELLO! 样例输出 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

14、* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #include #include int main() int ch26; memset(ch,0,sizeof(ch); int i,n,m,p; char str200; char c; scanf(%d%d%d,&n,&m,&p); while(n-) scanf(%s,str); for(i=0;stri!=0;i+) chstri-A

15、+; while(p-) scanf(%s,str); for(i=0;stri!=0;i+) chstri-A-; for(i=0;i80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(85),并且班级评议成绩高于80分(80)的学生均可获得; 3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(90)的学生均可获得; 4) 西部奖学金,每人1000元,期末平均成绩高于85分(85)的西部省份学生均可获得; 5) 班级贡献奖,每人850元,班级评议成绩高于80分(80)的学生干部均可获 得; 只要符合条件就可以得奖,每

16、项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。 现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。 输入形式 输入的第一行是一个整数N(1 = N = 100),表示学生的总数。接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班

17、级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。每两个相邻数据项之间用一个空格分隔。 输出形式 输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。第三行是这N个学生获得的奖学金的总数。 样例输入 4 YaoLin 87 82 Y N 0 ChenRuiyi 88 78 N Y 1 LiXin 92 88 N N 0 ZhangQin 83 87 Y N

18、 1 样例输出 ChenRuiyi 9000 28700 #include #include #include #include struct students char name21; int score1, score2; char c1, c2; int num, money; student100; void judge ( struct students * sb ) money += 8000; - -if ( sbscore1 80 & sb-num=1 ) sb -if ( sbscore1 85 & sb-score280 ) sbmoney += 4000; - money

19、 += 2000;sb - -if ( sb score1 90 ) c2=Y ) score1 85 & sbif ( sb- money += 1000;-sb money += 850;-sb c1=Y ) -score2 80 & sb-if ( sb /* void judge ( struct students sb ) if ( sb.score1 80 & sb.num=1 ) sb.money += 8000; if ( sb.score1 85 & sb.score280 ) sb.money += 4000; if ( sb.score1 90 ) sb.money +=

20、 2000; sb.money += 1000; if ( sb.score1 85 & sb.c2=Y ) sb.money += 850; if ( sb.score2 80 & sb.c1=Y ) */ int main() int n; scanf ( %d, &n ); int i, j, sum = 0; for ( i=0; in; i+ ) scanf ( %s, studenti.name ); scanf ( %d%d, &studenti.score1, &studenti.score2 ); scanf ( %c %c, &studenti.c1, &studenti.

21、c2 ); scanf ( %d, &studenti.num ); studenti.money = 0; judge( &studenti );/judge( studenti ); sum += studenti.money; int max = student0.money; j = 0; for ( i=1; i max ) max = studenti.money ; = i; j printf ( %sn%dn%dn, studentj.name, studentj.money, sum ); system(pause); return 0; 8、简单密码 问题描述 Julius

22、 Caesar曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。比如字符A用F来代替。如下是密文和明文中字符的对应关系。 密文 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 明文 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 你的任务是对给定的密文进行解密得到明文。 你需要注意的是,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。 输入形式 输入中的测试数据不超过100组。每组数据都有如下的

23、形式,而且各组测试数据之间没有空白的行。 一组测试数据包括三部分 起始行:一行,包括字符串 START 密文:一行,给出密文,密文不为空,而且其中的字符数不超过200 结束行:一行,包括字符串 END 在最后一组测试数据之后有一行,包括字符串 ?义啐屔。 输出形式 对每组数据,都有一行输出,给出密文对应的明文。 样例输入 START NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX END START N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJH

24、TSI NS WTRJ END START IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ END ENDOFINPUT 样例输出 IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE #i

25、nclude #include #include #include const int N = 200; int main() char strN+1; int n; int aN; while ( scanf ( %d, &n )=1 & n ) for ( int i=0; in; i+ ) scanf ( %d, &ai ); int k; while ( scanf(%d, &k)=1 & k ) getchar(); fgets( str, N, stdin ); int j=0; while ( strj!=10 ) j+; strj=0; if ( (int)strlen(str

26、)n ) j=0; while ( strj!=0 ) j+; while( jn ) strj+ = ; char str1N+1=0; for ( int i1=0; i1k; i1+ ) for ( j=0; jn; j+ ) 1 = strj; -str1aj memset( str, 0, sizeof(str) ); memcpy( str, str1, sizeof(str1) ); memset( str1, 0, sizeof(str1) ); j = 0; while ( strj!=0 ) putchar( strj+ ); putchar( n ); 9、化验诊断 问题描述 下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义: 给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落 在边界上也算正常。 输入形式 输出形式 对于每组测试数据,输出一行。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2