c语言综合实验程序设计.docx
- 文档编号:28601463
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:10
- 大小:33.81KB
c语言综合实验程序设计.docx
《c语言综合实验程序设计.docx》由会员分享,可在线阅读,更多相关《c语言综合实验程序设计.docx(10页珍藏版)》请在冰豆网上搜索。
c语言综合实验程序设计
C语言程序设计
综合实验报告
学院:
专业:
学号:
姓名:
指导老师:
武汉科技大学
题目一:
1.求出200——1000之间所有的素数,要求:
1)调用函数判断某数是不是素数;
2)输出结果,每行输出十个。
程序:
#include
#include
intjudge(intn)
{inti,k;
k=sqrt(n);
for(i=2;i<=k;i++)
{if(n%i==0)
{
break;
}
}
if(i>k)
{
return1;
}
return0;
}
voidmain()
{inti,m,k;
for(i=201;i<1000;i=i+2)
{
m=judge(i);
if(m==1)
{
printf("%4d",i);k++;
if(k%10==0)
printf("\n");
}
}
}
输出结果:
211223227229233239241251257263
269271277281283293307311313317
331337347349353359367373379383
389397401409419421431433439443
449457461463467479487491499503
509521523541547557563569571577
587593599601607613617619631641
643647653659661673677683691701
709719727733739743751757761769
773787797809811821823827829839
853857859863877881883887907911
919929937941947953967971977983
991997
2.利用随机函数产生200个两位正整数,统计这200个正整数中相同数的个数。
要求:
要求分别利用标准函数、数组编程,并输出正确的统计结果和利用标准函数、结构体编程,并输出正确的统计结果。
程序:
#include
#include
#include
voidmain()
{intarray[200]={0},num[100]={0};
inti,j,k,h,b;
printf("得到的两位数是:
");
for(i=0;i<200;i++)
{
array[i]=rand()%90+10;
printf("%3d",array[i]);h++;
if(h%20==0)
{
printf("\n");
}
}
for(j=0;j<200;j++)
{
num[array[j]]++;
}
printf("统计结果为:
");
for(k=10;k<100;k++)
if(num[k]!
=0)
{
printf("%4d->%d",k,num[k]);
b++;
if(b%20==0)
{
printf("\n");
}
}
}
得到的两位数是:
5127445099745828628445757197715135726746
9134427332626196181557462128793227293594
9361121343843171933887249297678993318968
8675605228565042146896556079806076611348
1933647446602696813834496683573818227981
7375595834403766937681452492707957136752
5670811645278514819290803144262067511797
7757434315998948215842266680431810215245
5069942748136591126041662450169188795814
1164632958487018472748538883879110575374
统计结果为:
10->211->112->213->414->315->216->217->118->419->120->121->322->124->326->327->528->329->231->332->2
33->134->335->237->138->340->141->142->343->444->245->446->347->148->549->150->451->352->353->255->1
56->257->558->559->160->561->362->263->164->265->166->467->468->269->170->371->372->173->274->375->3
76->277->179->580->381->583->284->285->186->187->288->289->390->191->492->393->494->296->397->399->2
其结构体程序:
#include
#include
#include
structArray
{
intarr[200];
}
intmain(intargc,char*argv[])
{
srand((unsigned)time(NULL));
ArrayarrStr;
intarr[200]={0};
intnum[90]={0};
inttemp=0;
for(inti=0;i<200;i++)
{
temp=rand()%90+10;
arrStr.arr[i]=temp;
}
for(intj=0;j<200;j++)
{
num[arrStr.arr[j]-10]++;
}
printf("每个数出现的次数统计为:
\n");
for(intk=0;k<90;k++)
{
if(num[k]>0)
{
printf("%2d->%d",k+10,num[k]);
if((k+10)%20==0)
{
printf("\n");
}
}
}
return0;
}
结果是:
每个数出现的次数统计为:
10->211->112->213->414->315->216->217->118->419->120->121->322->124->326->327->528->329->231->332->2
33->134->335->237->138->340->141->142->343->444->245->446->347->148->549->150->451->352->353->255->1
56->257->558->559->160->561->362->263->164->265->166->467->468->269->170->371->372->173->274->375->3
76->277->179->580->381->583->284->285->186->187->288->289->390->191->492->393->494->296->397->399->2
题目二:
使用函数指针完成数组的排序,要求:
1)按冒泡选择法进行升序排列或者降序排列;
2)程序包括sort,swap,ascending,descending等函数。
其中sort接受ascending或descending函数指针参数、一个整形数组和数组长度。
3)函数原形提供如下:
voidsort(int[],constint,int(*)(int,int));
intascending(int,int);
intdescending(int,int);
4)具有提示使用者选择升序或者降序排列的功能。
如果使用者输入1,则函数sort传递ascending函数的指针,数组按照升序排列并输出,输入2,则向函数sort传递descending函数的指针,数组将会按照降序排列并输出。
程序:
#include
#include
intascending(inta,intb)
{
return(a
}
intdescending(inta,intb)
{
return(a>b);
}
voidsort(inta[],constintn,int(*p)(int,int))
{
inti,j=0,temp=0;
for(i=0;i { for(j=i+1;j { if(p(a[j],a[i])) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } } voidmain() { intarr[10]={0}; inti=0; intflag=0; printf("请输入10个数进行排序: \n"); for(i=0;i<10;i++) { scanf("%d",&arr[i]); } printf("请输入排序方式(1升序;2降序): "); scanf("%d",&flag); if(flag==1) { sort(arr,10,ascending); printf("升序排序后: \n"); for(i=0;i<10;i++) { printf("%3d",arr[i]); } } if(flag==2) { sort(arr,10,descending); printf("降序排序后: \n"); for(i=0;i<10;i++) { printf("%4d",arr[i]); } } printf("\n"); } 结果: 升序为: 请输入10个数进行排序: 13579246810 请输入排序方式(1升序;2降序): 1 升序排序后: 12345678910 降序为: 请输入10个数进行排序: 13579246810 请输入排序方式(1升序;2降序): 2 降序排序后: 10987654321
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 综合 实验 程序设计