资源描述:
《程序设计与算法语言上机试题abc--》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、10个人的成绩存放在score数组中,编写函数fun,求出平均分,并作为函数值返回,且输出不及格人数。#includefloatfun(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++;
2、aver=fun(a);printf("10个人的成绩平均分为:%5.2f",aver);printf("");printf("不及格人数:%d",j);}2、求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在指定的数组a中。#includevoidmain(){inti,n,a[500];n=fun(a);for(i=0;i3、0;i++)if((i%7==0
4、
5、i%11==0)&&(!(i%7==0&&i%11==0)))a[j++]=i;returnj;}3、求方程的解。#include#includevoidmain(){floata,b,c,d,x1,x2,m,n;printf("请输入方程的3个系数,a,b,c:");scanf("%f,%f,%f",&a,&b,&c);printf("该方程");if(fabs(a)<=1e-6){if(fabs(b)<=1e-6){if(fabs(c)<
6、=1e-6)printf("有无穷多个解");elseprintf("无解");}elseprintf("有一个根:%8.4f",-c/b);}else{d=b*b-4*a*c;if(fabs(d)<=1e-6)printf("有两个相等的实根:%8.4f",-b/(2*a));elseif(d>1e-6){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("有两个不等的实根:%8.4f和%8.4f",x1,x2);}else{m=-b/(2*
7、a);n=sqrt(-d)/(2*a);printf("有两个复根:");printf("%8.4f+%8.4fi",m,n);printf("%8.4f-%8.4fi",m,n);}}}4、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E,90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。要求:当输入分数为负值,或大于100时,通知用户“输入数据错误,重新输入”。#includevoidmain(){floatx;chary;printf("
8、输入学生成绩:x=");scanf("%f",&x);while(x>100
9、
10、x<0){printf("输入错误,请重新输入学生成绩:x=");scanf("%f",&x);}if(x>=90)y='A';elseif(x>=80)y='B';elseif(x>=70)y='C';elseif(x>=60)y='D';elsey='E';printf("学生的等级为:y=%c",y);}5、求数组中最大元素在数组中的下标并存放在指针k所指的储存单元中。#includevoidfun(in
11、t*s,intt,int*k){inti,max;max=s[0];for(i=0;imax){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最大值为:%d",k,a[k]);}6、编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(
12、1+2+3)+……+1/(1+2+3+4+……+n)。#includefloatfun(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的值:");scanf("%d",&n);