程序设计与算法语言上机精彩试题abc副本副本.docx
- 文档编号:29538070
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:70
- 大小:40.26KB
程序设计与算法语言上机精彩试题abc副本副本.docx
《程序设计与算法语言上机精彩试题abc副本副本.docx》由会员分享,可在线阅读,更多相关《程序设计与算法语言上机精彩试题abc副本副本.docx(70页珍藏版)》请在冰豆网上搜索。
程序设计与算法语言上机精彩试题abc副本副本
1、10个人的成绩存放在score数组中,编写函数fun,求出平均分,并作为函数值返回,且输出不及格人数。
#include
floatfun(inta[10])
{
inti,aver,sum=0;
for(i=0;i<10;i++)
sum=sum+a[i];
aver=sum/10;
returnaver;
}
voidmain()
{
inti,j=0,a[10]={10,20,30,40,50,60,70,80,90,100};
floataver;
for(i=0;i<10;i++)
if(a[i]<60)
j++;
aver=fun(a);
printf("10个人的成绩平均分为:
%5.2f\n",aver);
printf("\n");
printf("不及格人数:
%d\n",j);
}
2、求出1到100之能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在指定的数组a中。
#include
voidmain()
{
inti,n,a[500];
n=fun(a);
for(i=0;i printf("%8d",a[i]); } intfun(inta[]) { inti=7,j=0; for(;i<=100;i++) if((i%7==0||i%11==0)&&(! (i%7==0&&i%11==0))) a[j++]=i; returnj;} 3、求方程 的解。 #include #include voidmain() { floata,b,c,d,x1,x2,m,n; printf("请输入方程的3个系数,a,b,c: "); scanf("%f,%f,%f",&a,&b,&c); printf("该方程\n"); if(fabs(a)<=1e-6) { if(fabs(b)<=1e-6) { if(fabs(c)<=1e-6) printf("有无穷多个解\n"); else printf("无解\n"); } elseprintf("有一个根: %8.4f\n",-c/b); } else { d=b*b-4*a*c; if(fabs(d)<=1e-6) printf("有两个相等的实根: %8.4f\n",-b/(2*a)); else if(d>1e-6) { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("有两个不等的实根: %8.4f和%8.4f\n",x1,x2); } else { m=-b/(2*a); n=sqrt(-d)/(2*a); printf("有两个复根: \n"); printf("%8.4f+%8.4fi\n",m,n); printf("%8.4f-%8.4fi\n",m,n); } } } 4、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E,90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 要求: 当输入分数为负值,或大于100时,通知用户“输入数据错误,重新输入”。 #include voidmain() { floatx; chary; printf("输入学生成绩: x="); scanf("%f",&x); while(x>100||x<0) { printf("输入错误,请重新输入学生成绩: x="); scanf("%f",&x); } if(x>=90) y='A'; else if(x>=80) y='B'; else if(x>=70) y='C'; else if(x>=60) y='D'; else y='E'; printf("\n学生的等级为: y=%c\n",y); } 5、求数组中最大元素在数组中的下标并存放在指针k所指的储存单元中。 #include voidfun(int*s,intt,int*k) { inti,max; max=s[0]; for(i=0;i if(s[i]>max) { max=s[i]; *k=i; } } voidmain() { inta[10]={876,675,896,101,301,401,980,431,451,777},k; fun(a,10,&k); printf("最大值在a中的位置为: i=%d\n最大值为: %d\n",k,a[k]); } 6、编写函数fun,功能是: 根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+4+……+n)。 #include floatfun(intn) { inti; floats=1.0,t=1.0; for(i=2;i<=n;i++) { t=t+i; s=s+1/t; } returns; } voidmain() { floaty; intn; printf("输入n的值: \n"); scanf("%d",&n); y=fun(n); printf("y=%f\n",y); } 7、定义了7×7的二维数组,并在主函数中自动赋值。 编写函数fun(inta[][7]),该函数的功能是: 使数组左下半三角元素中的值全部置成0。 #include intfun(inta[][7]) { inti,j; for(i=0;i<7;i++) for(j=0;j<7;j++) { if(i>j) a[i][j]=0; } } voidmain() { inta[7][7],i,j; for(i=0;i<7;i++) { for(j=0;j<7;j++) { a[i][j]=i+j+1; printf("%3d",a[i][j]); } printf("\n"); } fun(a); printf("输出处理后的数组a: \n"); for(i=0;i<7;i++) { for(j=0;j<7;j++) { printf("%3d",a[i][j]); } printf("\n"); } } 8、编写一个函数voidfun(inttt[5][6],intpp[6]),tt指向一个5行6列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。 二维数组中的数已在主函数中初始化。 #include voidfun(inttt[5][6],intpp[6]) {inti,j,min; for(j=0;j<6;j++) {min=tt[0][j]; for(i=0;i<5;i++) {if(tt[i][j] min=tt[i][j]; } pp[j]=min; } } voidmain() { intt[5][6]={{68,56,32,44,54,12},{14,56,24,47,88,58},{42,85,22,75,44,56},{45,12,3,5,78,45},{45,65,25,75,85,41}}; intp[6],i,j,k; printf("Theriginaldatais: \n"); for(i=0;i<5;i++) {for(j=0;j<6;j++) printf("%6d",t[i][j]); printf("\n"); } fun(t,p); printf("\n二维函数组每列中最小元素为: \n"); for(k=0;k<6;k++) printf("%4d",p[k]); printf("\n"); } 9、求出4行5列的二维数组周边元素之和。 #include voidmain() { inta[4][5],i,j,sum=0,sum1=0,sum2=0; printf("请输入4*5矩阵数据: "); for(i=0;i<4;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); { for(i=0;i<4;i++) sum1=sum1+a[i][0]+a[i][4]; } { for(j=0;j<5;j++) sum2=sum2+a[0][j]+a[3][j]; } sum=sum1+sum2-a[0][0]-a[0][4]-a[3][0]-a[3][4]; printf("矩阵周边元素之和为: %d\n",sum); } 10、编写程序,把字符串中的容逆置(不准使用多个字符数组)。 #include voidmain() { chara[80]; chart; inti,n; printf("输入一行字符串: \n"); gets(a); n=strlen(a); for(i=0;i<=n/2;i++) { t=a[i]; a[i]=a[n-i-1]; a[n-i-1]=t; } printf("字符串中的容逆置为: \n"); puts(a); } 11、编写程序,从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。 并把删除好的字符以字符串的形式输出(不准使用多个字符数组)。 #include #include voidmain() { charch,str[100]; inti,j=0; printf("输入字符串: \n"); gets(str);\\无上限读取字符 printf("输入要删除的字符: "); ch=getchar(); for(i=0;i if(str[i]! =ch) str[j++]=str[i]; str[j]='\0'; printf("\n字符串str为: %s\n",str); } #include #include voidmain() { chara[80]; charch; inti,j; intn; printf("输入一串字符字符: \n"); gets(a); printf("输入要删除的字符: "); ch=getchar(); i=0; while(a[i]! ='\0') { while(a[i]! ='\0'&&a[i]! =ch) i++; n=strlen(a); for(j=i;j a[j]=a[j+1]; a[j]='\0'; } printf("删除后的字符串: "); puts(a); } 12、编写程序,对长度为7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。 #include voidmain() { charc[8]; chari,j,temp; printf("长度为7个字符的c字符串: "); gets(c); for(i=1;i<=5;i++) { for(j=i+1;j<=5;j++) { if(c[i] { temp=c[i]; c[i]=c[j]; c[j]=temp; } } } printf("首尾字符外,将其余5个字符按ascii码降序排列为: %s\n",c); } 13、编写函数fun,它的功能是: 比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。 若两个字符串长度相同,则返回第一个字符串。 #include #include char*fun(char*a,char*b) { inti,j; for(i=0;*(a+i);i++); for(j=0;*(b+j);j++); if(i>=j) returna; else returnb; } voidmain() { chara[100],b[100],*c; printf("输入a字符串: "); gets(a); printf("输入b字符串: "); gets(b); c=fun(a,b); printf("输出较长的c字符串: "); puts(c); } 14、给一个不多于5位的正整数,要求求出它是几位数,打印出每一位数字,并按逆序打印出各位数字。 #include voidmain() { longintnum; inta,b,c,d,f,place; printf("输入num的数值: "); scanf("%d",&num); if(num>9999) place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9) place=2; else place=1; printf("place=%d\n",place); f=num/10000; d=num/1000%10; c=num/100%10; b=num/10%10; a=num%10; switch(place) { case5: printf("%d,%d,%d,%d,%d",f,d,c,b,a); printf("\n反序数为: "); printf("%d,%d,%d,%d,%d\n",a,b,c,d,f);break; case4: printf("%d,%d,%d,%d",d,c,b,a); printf("\n反序数为: "); printf("%d,%d,%d,%d\n",a,b,c,d);break; case3: printf("%d,%d,%d",c,b,a); printf("\n反序数为: "); printf("%d,%d,%d\n",a,b,c);break; case2: printf("%d,%d",b,a); printf("\n反序数为: "); printf("%d,%d\n",a,b);break; case1: printf("%d",a); printf("\n反序数为: "); printf("%d\n",a);break; } } 15、编写一个函数fun,它的功能是: 求出一个6×8的整型二维数组中最大元素的值,并将此值返回调用函数。 数组在主函数中初始化,并最终输出结果。 #include intfun(inta[6][8]) { inti,j,max=a[0][0]; for(i=0;i<6;i++) for(j=0;j<8;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计与算法语言上机精彩试题abc 副本 程序设计 算法语言 上机 精彩 试题 abc
![提示](https://static.bdocx.com/images/bang_tan.gif)