求出200——1000之间所有的素数.doc_第1页
求出200——1000之间所有的素数.doc_第2页
求出200——1000之间所有的素数.doc_第3页
求出200——1000之间所有的素数.doc_第4页
求出200——1000之间所有的素数.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

. C语言程序设计 综合实验报告 学 院: 信息科学与工程学院 专 业: 自动化1002班 学 号: 201004134070 姓 名: 吴 君 指导老师: 2011年6月25日武汉科技大学求出2001000之间所有的素数,要求1) 调用函数判断某数是不是素数;2) 输出结果,每行输出十个;程序:#include#includeint judge(int n)/定义一个函数int i,k;k=sqrt(n);for(i=2;ik)return 1;/返回一个函数值return 0;void main()int i,m,k;for(i=201;i1000;i=i+2) m=judge(i);/调用自定义函数if (m=1) printf(%4d,i); /输出结果k+;if(k%10=0)/大于10换行printf(n); 输出结果:211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997Press any key to continue利用随机函数产生200个正整数,统计这200个正整数中相同的个数。要求1) 用标准函数编程并输出;2) 利用标准函数和结构体编程输出结果;程序:#include#include#includevoid main()int array200=0,num100=0;int i,j, k,h,b;printf(得到的两位数是:); for(i=0;i200;i+) /获得200个两位数 arrayi=rand()%90+10; printf(%3d,arrayi);h+;if(h%20=0)printf(n); for(j=0;j200;j+) /统计两位数的个数 numarrayj+; printf(统计结果为:); for(k=10;k%d,k,numk); /输出结果b+;if(b%20=0)printf(n);其结果为:得到的两位数是: 51 27 44 50 99 74 58 28 62 84 45 75 71 97 71 51 35 72 67 46 91 34 42 73 32 62 61 96 18 15 57 46 21 28 79 32 27 29 35 94 93 61 12 13 43 84 31 71 93 38 87 24 92 97 67 89 93 31 89 68 86 75 60 52 28 56 50 42 14 68 96 55 60 79 80 60 76 61 13 48 19 33 64 74 46 60 26 96 81 38 34 49 66 83 57 38 18 22 79 81 73 75 59 58 34 40 37 66 93 76 81 45 24 92 70 79 57 13 67 52 56 70 81 16 45 27 85 14 81 92 90 80 31 44 26 20 67 51 17 97 77 57 43 43 15 99 89 48 21 58 42 26 66 80 43 18 10 21 52 45 50 69 94 27 48 13 65 91 12 60 41 66 24 50 16 91 88 79 58 14 11 64 63 29 58 48 70 18 47 27 48 53 88 83 87 91 10 57 53 74统计结果为: 10-2 11-1 12-2 13-4 14-3 15-2 16-2 17-1 18-4 19-1 20-1 21-3 22-1 24-3 26-3 27-5 28-3 29-2 31-3 32-2 33-1 34-3 35-2 37-1 38-3 40-1 41-1 42-3 43-4 44-2 45-4 46-3 47-1 48-5 49-1 50-4 51-3 52-3 53-2 55-1 56-2 57-5 58-5 59-1 60-5 61-3 62-2 63-1 64-2 65-1 66-4 67-4 68-2 69-1 70-3 71-3 72-1 73-2 74-3 75-3 76-2 77-1 79-5 80-3 81-5 83-2 84-2 85-1 86-1 87-2 88-2 89-3 90-1 91-4 92-3 93-4 94-2 96-3 97-3 99-2Press any key to continue 其结构体程序:#include #include #include struct Array int arr200;int main(int argc, char* argv) srand( (unsigned)time( NULL ) );Array arrStr;/int arr200 = 0; /保存产生的两位数int num90 = 0; /记录重复出现次数int temp = 0;/产生随机数for (int i =0; i 200; i +)temp = rand()%90 + 10;arrStr.arri = temp;/统计出现次数for (int j = 0; j 200; j +) num arrStr.arrj - 10 +;/打印结果 printf(每个数出现的次数统计为:n); for (int k =0; k 0)printf(%2d-%d , k+10, numk);if(k+10)%20=0)printf(n); return 0;结果是:每个数出现的次数统计为:10-5 11-2 12-2 13-3 14-3 15-3 16-3 17-3 18-2 20-221-3 23-5 24-1 25-2 26-1 27-3 28-1 29-2 30-1 31-2 32-3 33-4 34-2 35-1 37-4 38-1 39-2 40-141-6 42-3 43-3 44-1 45-2 46-1 47-3 48-3 49-4 50-3 51-1 52-3 53-4 54-1 55-2 56-1 57-2 58-3 59-1 60-461-2 64-3 65-1 66-4 67-2 68-2 69-1 70-1 71-3 72-1 73-2 74-4 76-3 77-3 78-4 79-3 80-181-3 82-2 83-3 84-1 86-2 87-2 88-1 89-4 90-1 91-1 92-2 93-2 94-3 95-3 96-3 97-2 98-4 99-3 Press any key to continue题目二使用函数指针完成数组排序,要求1) 按冒泡选择法进行升序排列或者降序排列:2) 程序包括sort,swap,ascending,descending,等函数。其中sort接受ascending或descending函数指针参数、一个整形数组合数组长度。3) 函数原形提供如下:Void sort(int,const int ,int(*)(int,int));int ascending(int,int);int descending(int,int);4)具有提示使用者选择升序或者降序排列功能。如果使用者输入1,则函数sort传递ascending函数指针,数组按升序排列输出,输入2则函数sort传递descending函数指针,数组将会按降序排列并输出。程序:#include#includeint ascending(int a,int b)/定义函数;作升序用return(ab);void sort(int a,const int n,int(*p)(int,int)/定义排序函数,其中用函数指针传递排序方式int i,j=0, temp = 0;for(i=0; in-1; i+) for(j=i+1; jn; j+)if(p(aj,ai)temp=ai;ai=aj;aj=temp; /end for(j.)/for(i.)void main()int arr10 = 0;int i = 0;int flag= 0; /标志位,排序选择,若为1则升序排序,若为2降序 printf(请输入 10 个数进行排序:n);for(i=0;i10;i+) /循环输入数组的元素值scanf(%d,&arri); printf(请输入排序方式(1 升序;2 降序):);scanf(%d,&flag); /输入数字选择用那种排序(升或降) if(flag=1)sort(arr, 10, ascending);printf(升序排序后:n); for(i=0; i10; i+)printf(%3d,arri); /输出排序后的数组if(flag=2)sort(arr, 10, descending);printf(降序排序后:n); for(i=0;i10;i+)printf(%4d,arri); printf(n);结果:升序为:请输入 10 个数进行排序:15 45 25 35 85 95 65

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论