1、c语言综合实验程序设计 C语言程序设计 综合实验报告 学 院: 专 业: 学 号: 姓 名: 指导老师: 武汉科技大学题目一:1.求出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)printf(n
2、);输出结果:211 223 227 229 233 239 241 251 257 263269 271 277 281 283 293 307 311 313 317331 337 347 349 353 359 367 373 379 383389 397 401 409 419 421 431 433 439 443449 457 461 463 467 479 487 491 499 503509 521 523 541 547 557 563 569 571 577587 593 599 601 607 613 617 619 631 641643 647 653 659 661
3、673 677 683 691 701709 719 727 733 739 743 751 757 761 769773 787 797 809 811 821 823 827 829 839853 857 859 863 877 881 883 887 907 911919 929 937 941 947 953 967 971 977 983991 9972.利用随机函数产生200个两位正整数,统计这200个正整数中相同数的个数。要求:要求分别利用标准函数、数组编程,并输出正确的统计结果和利用标准函数、结构体编程,并输出正确的统计结果。程序:#include#include#includ
4、evoid main()int array200=0,num100=0;int i,j, k,h,b;printf(得到的两位数是:);for(i=0;i200;i+) 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 6
5、7 4691 34 42 73 32 62 61 96 18 15 57 46 21 28 79 32 27 29 35 9493 61 12 13 43 84 31 71 93 38 87 24 92 97 67 89 93 31 89 6886 75 60 52 28 56 50 42 14 68 96 55 60 79 80 60 76 61 13 4819 33 64 74 46 60 26 96 81 38 34 49 66 83 57 38 18 22 79 8173 75 59 58 34 40 37 66 93 76 81 45 24 92 70 79 57 13 67 525
6、6 70 81 16 45 27 85 14 81 92 90 80 31 44 26 20 67 51 17 9777 57 43 43 15 99 89 48 21 58 42 26 66 80 43 18 10 21 52 4550 69 94 27 48 13 65 91 12 60 41 66 24 50 16 91 88 79 58 1411 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-
7、3 22-1 24-3 26-3 27-5 28-3 29-2 31-3 32-233-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-156-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-376-2 77-1 79-5 80-3 81-5 83-2 84-2 85-1 86-1 87-2 88-2 89-3 9
8、0-1 91-4 92-3 93-4 94-2 96-3 97-3 99-2其结构体程序: #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 2
9、00; 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-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-233-1 34-3 35-2 37-1 38-3 40-1 41-1 42-3 43-4 44-2
10、45-4 46-3 47-1 48-5 49-1 50-4 51-3 52-3 53-2 55-156-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-376-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-2题目二:使用函数指针完成数组的排序,要求:1) 按冒泡选择法进行升序排列或者降序排列;2) 程序包括sor
11、t,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函数的指针,数组将会按照降序排列并输出。程序:
12、#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; void main()int arr10 = 0;int i = 0;int flag= 0;printf(请输入 10 个数进行排序:n);for(i=0;i10;i+) scanf(%d,&arri);printf(请输入排序方
13、式(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 个数进行排序:1 3 5 7 9 2 4 6 8 10请输入排序方式(1 升序;2 降序):1升序排序后:1 2 3 4 5 6 7 8 9 10降序为:请输入 10 个数进行排序:1 3 5 7 9 2 4 6 8 10请输入排序方式(1 升序;2 降序):2降序排序后:10 9 8 7 6 5 4 3 2 1
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2