二级C上机程序设计题答案文档格式.docx
- 文档编号:4126240
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:48
- 大小:29.07KB
二级C上机程序设计题答案文档格式.docx
《二级C上机程序设计题答案文档格式.docx》由会员分享,可在线阅读,更多相关《二级C上机程序设计题答案文档格式.docx(48页珍藏版)》请在冰点文库上搜索。
%3d"
每行3个数写到考生目录中Paper子目录下的新建文件design.dat中。
#include"
Stdio.h"
main()
{FILE*p;
inti,j,temp,n=0;
inta[10]={7,6,20,3,14,88,53,62,10,29},b[10];
j=0;
p=fopen("
for(i=0;
i<
10;
i++)
if(a[i]%2==0){b[j]=a[i];
j++;
n=j;
/*n为b数组中元素个数*/
n;
for(j=i+1;
j<
j++)
if(b[i]>
b[j])
{temp=b[i];
b[i]=b[j];
b[j]=temp;
{if(i%3==0)fprintf(p,"
\n"
b[i]);
fclose(p);
3.设计程序:
将数组a的每1行均除以该行上绝对值最大的元素,然后将a数组写入到考生目录中Paper子目录下的新建文件design.dat中。
math.h"
{
floata[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};
FILE*p;
floatx;
inti,j;
for(i=0;
3;
{x=a[i][0];
/*将每行第一个元素暂定为绝对值最大的元素*/
for(j=0;
if(fabs(a[i][j])>
fabs(x))x=a[i][j];
a[i][j]=a[i][j]/x;
{for(j=0;
%10.6f"
a[i][j]);
4.设计程序:
计算表达式1+2!
+3!
+...+12!
的值,并将计算结果以格式"
%ld"
写入到考生目录中Paper子目录下的新建文件design.dat中。
Conio.h"
longs=1,k=1;
inti;
for(i=2;
=12;
{k=k*i;
s+=k;
fprintf(p,"
s);
5.设计程序:
将字符串s中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串写入到考生目录中Paper子目录下的新建文件design.dat中。
string.h"
FILE*p;
char*s="
634,.%@\\w|SQ2"
c;
inti,j,k,n=strlen(s);
i++)/*用选择排序法*/
if(s[i]>
s[j]){c=s[i];
s[i]=s[j];
s[j]=c;
i++)fputc(s[i],p);
6.设计程序:
数列第1项为81,此后各项均为它前1项的正平方根,统计该数列前30项之和,并以格式"
%.3f"
写到考生目录中Paper子目录下的新建文件design.dat中。
floats=0,a=81;
s=81;
for(i=1;
30;
{s=s+sqrt(a);
a=sqrt(a);
7.设计程序:
寻找并输出11至999之间的数m,它满足m、m*m、m*m*m均为回文数。
所谓回文数是指各位数字左右对称,例如121、676、94249等。
满足上述条件的数如m=11,m^2=121,m^3=1331皆为回文数。
请编制函数intJSValue(longm)实现此功能,如果是回文数,则函数返回1,反之则返回0。
最后把结果输出到考生目录中Paper子目录下的新建文件design.dat中。
方法一:
stdlib.h"
intjsvalue(longm)/*判断是否是回文数的函数,是则返回1,否则返回值为0*/
chars[20];
intw,i=0;
while(m>
0)/*此循环实现将数m的各位数字转换为字符存放在字符数组s中*/
{w=m%10;
s[i++]=w+'
0'
;
/*将数字w转换为字符存放在字符数组元素s[i]中*/
m=m/10;
w=i;
i=0;
while(i<
w/2)/*此循环实现将字符数组s中存放的字符,从首尾开始依次比较*/
{if(s[i]!
=s[w-1-i])
return0;
i++;
return1;
longm;
for(m=11;
m<
1000;
m++)
if(jsvalue(m)&
&
jsvalue(m*m)&
jsvalue(m*m*m))
m);
/*说明:
最后在design.dat中输出的三个数11、101、111是连写在一起的*/
方法二:
jsvalue函数编写的另一种方法
intjsvalue(longx)
longs,y,pw=1;
intd;
s=x;
/*用s变量存放x的值*/
while(x>
0)
{pw=pw*10;
x=x/10;
pw=pw/10;
y=0;
x=s;
/*用s变量的值恢复x的值*/
{d=x%10;
y=y+d*pw;
if(x==y)return1;
elsereturn0;
方法三:
jsvalue函数编写的另一种方法(最简单)
longy=0,z=x;
while(x!
=0){
y=y*10+x%10;
x/=10;
if(z==y)return1;
8.设计程序:
计算多项式
a0+a1*sin(x)+a2*sin(x*x)+a3*sin(x*x*x)+……+a9*sin(x*x*x*x*x*x*x*x*x)的值,并将其值以格式"
%.6f"
floatx=2.345,t=1.0,y=0.0;
floata[10]={1.2,-1.4,-4.0,1.1,2.1,-1.1,3.0,-5.3,6.5,-0.9};
y=a[0];
{t=t*x;
y=y+a[i]*sin(t);
y);
9.设计程序:
对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式"
floatf(float),max,x;
max=f
(1);
/*暂定f
(1)的值为最大值*/
for(x=2;
=10;
if(f(x)>
max)max=f(x);
max);
floatf(floatx)
{floaty;
y=x-10*cos(x)-5*sin(x);
returny;
10.设计程序:
统计满足条件x*x+y*y+z*z==2000的所有解的个数,并将统计结果以格式"
%d"
写入到考生目录中Paper子目录下的新建文件design.dat中说明:
若a、b、c是1个解,则a、c、b也是1个解,等等。
intx,y,z,k=0;
for(x=0;
50;
x++)/*因为50的平方为2500,所以x最大不超过50*/
for(y=0;
y++)/*若不允许重复解改为for(y=x;
y++)*/
for(z=0;
z<
z++)/*若不允许重复解改为for(z=y;
z++)*/
if(x*x+y*y+z*z==2000)k++;
k);
11.设计程序:
z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x,y取值为区间[0,10]的整数,找出使z取最小值的x1,y1,并将x1、y1以格式"
intx,y,x1,y1;
floatz,z1;
z1=10*cos(-4)+5*sin(-2);
/*暂定f(0,0)为最小值并存放在z1中*/
x1=0;
y1=0;
{z=10*cos(x-4)+5*sin(y-2);
if(z1>
z){z1=z;
x1=x;
y1=y;
12.设计程序:
计算数列1,-1/3!
1/5!
-1/7!
1/9!
...的和至某项的绝对值小于1e-5时为止(该项不累加),将求和的结果以格式"
floats=1,t=1,i=3;
while(fabs(t)>
1e-5)/*绝对值小于1e-5的项不累加,先判断数据项是否满足条件再累加*/
{t=-t/(i*(i-1));
s=s+t;
i=i+2;
13.设计程序:
计算多项式a0-a1*x+a2*x*x/2!
-a3*x*x*x/3!
+...-a9*x*x*x*x*x*x*x*x*x/9!
的值,并将其以格式"
%f"
floatx=1.279,t,y;
floata[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
y=a[0];
t=1;
{t=-t*x/i;
/*利用循环连除i的技巧实现求阶乘*/
y=y+t*a[i];
14.设计程序:
求解百鸡问题。
已知公鸡每只5元、母鸡每只3元、小鸡1元3只。
求出用100元买100只鸡的解。
将得到的解按公鸡、母鸡和小鸡的只数以"
%d,%d,%d\n"
的格式写入到考生目录中Paper子目录下的新建文件design.dat中。
intcock,hen,chick;
fprintf("
cockhenchick\n"
for(cock=0;
cock<
=20;
cock++)
for(hen=0;
hen<
=33;
hen++)
for(chick=0;
chick<
=100;
chick++)
if((cock+hen+chick==100)&
((cock*5+hen*3+chick/3)==100))
cock,hen,chick);
15.设计程序:
在6至5000内找出所有的亲密数对,并将每对亲密数用语句fprintf(p,"
%6d,%6d\n"
a,b);
”写到考生目录中Paper子目录下的新建文件design.dat中。
说明:
若a、b为1对亲密数,则a的因子和等于b、b的因子和等于a、且a不等于b。
如:
220、284是1对亲密数,284、220也是1对亲密数。
inta,b,c,k;
for(a=6;
a<
=5000;
a++)
{b=1;
/*用b存放a的因子和*/
for(k=2;
k<
=a/2;
k++)/*任何数的因子不会大于该数的一半,所以k的最大取值为a/2*/
if(a%k==0)b=b+k;
c=1;
/*用c存放b的因子和*/
=b/2;
k++)
if(b%k==0)c=c+k;
if(c==a&
a!
=b&
(6<
b<
=5000))/*难点:
因为b中存放的是a的因子和,所以这里判断b的因子和c是否等于a*/
16.设计程序:
x[i],y[i]分别表示平面上一个点的坐标,求下列10个点与点(1.0,1.0)的距离的总和,并将结果以格式"
floatx[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6};
floaty[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4};
floats=0.0;
s=s+sqrt((x[i]-1)*(x[i]-1)+(y[i]-1)*(y[i]-1));
17.设计程序:
计算2的平方根、3的平方根、...、10的的平方根之和,要求计算结果具有小数点后10位有效位数,并以格式"
%.10lf\n"
doubles=0.0000000000;
s=s+sqrt(i);
%.10lf"
18.设计程序:
将数组a的每1行均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),然后将a数组写入到考生目录中Paper子目录下的新建文件design.dat中新建的文件design.dat中。
{floata[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};
inti,j;
a[i][j]=a[i][j]/a[i][i];
fputs(p,"
19.设计程序:
在数组a的10个数中求平均值v,将大于等于v的数组元素进行求和,并将结果以格式"
%.5f"
#include"
inti;
float
a[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum,v=0;
sum=0;
sum=sum+a[i];
v=sum/10;
sum=0;
if(a[i]>
=v)sum+=a[i];
sum);
20.设计程序:
计算字符串s中每个字符的权重值,所谓权重值就是字符在字符串中的位置值与该字符的ASCII码值的乘积。
位置值从1开始依此递增。
将每个字符的权重值,以格式"
%d"
inti,w;
we45*&
y3r#$1"
i=0;
while(s[i]!
='
\0'
)
{w=(i+1)*s[i];
w);
i++;
21.设计程序:
数组元素x[i]、y[i]表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式"
#definelen(x1,y1,x2,y2)sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
floatc,minc;
floatx[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
floaty[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33};
minc=len(x[0],y[0],x[1],y[1]);
j++)/*对不相同的两点计算距离*/
{c=len(x[i],y[i],x[j],y[j]);
if(c<
minc)minc=c;
minc);
1、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:
累加a字符串中各个字符的ASCII码值,然后将累加和以格式"
写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
ints=0,i=0;
char*a="
r235%^%34cdDW,."
design.dat1"
\\要求会写绝对路径如”d:
\\result\\0000000\\design.dat1”
for(;
*a!
=’\0’;
s=s+(*a);
%d\n"
}
\\while循环做法
while(*a!
{s=s+(*a);
a++;
2、在考生文件夹的Paper子文件夹下已有Design1.c文件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 上机 程序设计 答案