二级上机程序设计的题目Word格式文档下载.docx
《二级上机程序设计的题目Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《二级上机程序设计的题目Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
![二级上机程序设计的题目Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-2/4/b09cff8c-af00-47a4-89fd-d2b099d95b11/b09cff8c-af00-47a4-89fd-d2b099d95b111.gif)
2、/*设计程序:
累加a字符串中各个字符的ASCII码值,然后将累加和*/
/*以格式"
%d"
*/
ints=0,i=0;
char*a="
r235%^%34cdDW,."
;
for(i=0;
*a!
='
\0'
{s=s+*a;
a=a+1;
s);
}
3、/*设计程序:
计算字符串s中每个字符的权重值,所谓权重值就是字符在字符串中的位置值与该字符的ASCII码值的乘积。
位置值从1开始依此递增。
将每个字符的权重值,以格式"
%d"
写入到考生目录中Paper子目录下的新建文件design.dat中。
#include<
{
FILE*p;
inti,w;
char*s="
we45*&
y3r#$1"
*s!
{w=*s*(i+1);
s=s+1;
w);
4、/*设计程序:
对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)的*/
/*最大值,并将该数以格式"
%.3f"
floatf(float),max,x;
p=fopen("
max=f(1.0);
for(x=2;
x<
=10;
x++)
{if(f(x)>
max)
max=f(x);
max);
floatf(floatx)
{return(x-10*cos(x)-5*sin(x));
5、/*设计程序:
在正整数中找出1个最小的、被3、5、7、9除余数分别为1、*/
/*3、5、7的数,将该数以格式"
写到考生目录中Paper子目录下的新建文*/
/*件design.dat中。
inti;
for(i=1;
if(i%3==1&
&
i%5==3&
i%7==5&
i%9==7)
break;
i);
6、/*设计程序:
有数列:
2/1,3/2,5/3,8/5,13/8,21/13,……求出数列的前40项的和。
将结果以格式"
%.6f"
floatf1=1.0,f2=2.0,t1=2.0,t2=3.0,s;
floatf,t;
s=t1/f1+t2/f2;
for(i=3;
=40;
{t=t2;
t2=f2+t2;
f2=t;
f=t2/f2;
s=s+f;
7、/*设计程序:
将字符串s中的所有字符按ASCII值从小到大重新排序后,将*/
/*排序后的字符串写入到考生目录中Paper子目录下的新建文件design.dat中。
string.h>
634,.%@\\w|SQ2"
c;
inti,j,k,n=strlen(s);
for(j=0;
j<
n;
j++)
=n-j-2;
if(s[i]>
s[i+1])
{k=s[i];
s[i]=s[i+1];
s[i+1]=k;
i++)fputc(s[i],p);
8、/*设计程序:
寻找并输出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)
longtemp;
inti,a[7],lenth=0;
temp=m;
while(temp!
=0)
{lenth++;
a[lenth]=temp%10;
temp=temp/10;
=lenth/2;
if(a[i]!
=a[lenth-i+1])break;
if(i>
lenth/2)return1;
elsereturn0;
longm;
for(m=11;
m<
1000;
m++)
{
if(JSValue(m)&
JSValue(m*m)&
JSValue(m*m*m))
%ld"
m);
9、/*设计程序:
找出1000至9999之间符合条件的自然数。
条件是:
若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此四位数是偶数,统计出满足此条件的自然数的个数cnt,以格式"
intcnt=0;
inti;
for(i=1000;
=9999;
if(i%2==0&
i/1000<
=i/100%10&
i/100%10<
=i/10%10&
i/10%10<
=i%10)cnt++;
cnt);
10、/*设计程序:
某公司1999年年产量11.5万件,生产能力每年提高9.8%,求出产量能超过x万件的年份,结果由函数Year返回。
计算当x=20和x=30时的结果,将计算结果输出到考生目录中Paper子目录下的新建文件design.dat中。
intYear(intx)
intp=11.5,y=1999;
floatt=11.5;
for(y=2000;
y++)
{t=t*(1+0.098);
if(t>
x)break;
returny;
%d,%d"
Year(20),Year(30));
11、/*设计程序:
在数组a的10个数中求平均值v,将大于等于v的数组元素进行求和,
并将结果以格式"
%.5f"
#include<
voidmain()
{FILE*p;
floata[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum,v=0;
10;
i++)v=v+a[i];
v=v/10;
if(a[i]>
=v)sum=sum+a[i];
sum);
12、/*设计程序:
求解百鸡问题。
已知公鸡每只5元、母鸡每只3元、小鸡1元3只。
求出用100元买100只鸡的解。
将得到的解按公鸡、母鸡和小鸡的只数以"
%d,%d,%d\n"
的格式写入到考生目录中Paper子目录下的新建文件design.dat中。
intcock,hen,chick;
for(chick=0;
chick<
100;
chick++)
for(hen=0;
hen<
34;
hen++)
if((chick/3+hen*3+(100-chick-hen)*5)==100)
if(chick%3==0&
(100-chick-hen)>
100-chick-hen,hen,chick);
13、/*设计程序:
z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的*/
/*整数,找出使z取最小值的x1、y1,并将x1、y1以格式"
写入到考*/
/*生目录中Paper子目录下的新建文件design.dat中。
floatf(floatx,floaty),min;
intx,y,x1,y1;
#definef(x,y)(3.14*x-y)/(x+y)
min=f(1,1);
for(x=1;
=6;
for(y=1;
y<
if(f(x,y)<
min)
{min=f(x,y);
x1=x;
y1=y;
x1,y1);
floatf(floatu,floatv)
{return(3.14*u-v)/(u+v);
14、/*设计程序:
将数组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;
p=fopen("
desigen.dat"
3;
a[i][j]=a[i][j]/a[i][i];
i++){
j++)fprintf(p,"
%10.6f"
a[i][j]);
\n"
15、/*设计程序:
将满足条件pow(1.05,n)<
1e6<
pow(1.05,n+1)的n及其相应pow(1.05,n)值以格式"
%d,%.0f"
{floaty=1.05;
intn=1;
while(n++)
if((pow(y,n)<
1e6)&
(pow(y,n+1)>
1e6))
break;
n,pow(1.05,n));
16、/*设计程序:
计算表达式1+2!
+3!
+...+12!
的值,并将计算结果以格式*/
/*"
%ld"
写入到考生目录中Paper子目录下的新建文件design.dat中*/
longs=1,k=1;
i=12;
k=k*s;
s=s+k;
fprintf(p,"
fclose(p);
17、设计程序:
数组元素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]);
for(j=i+1;
c=len(x[i],y[i],x[j],y[j]);
if(c<
minc)
minc=c;
minc);
18、/*设计程序:
*一个球从100米高度落下,每次落地后都反弹至原高度一半位置,再落下。
*计算出第10次落地时小球共经过的距离,并将结果以格式"
%.0f"
{
FILE*fp;
floats=100,h=100;
fp=fopen("
h=h/2;
s+=2*h;
fprintf(fp,”%f”,s);
fclose(fp);
19、/*设计程序:
将数组a的每1行均除以该行上绝对值最大的元素,然后将*/
/*a数组写入到考生目录中Paper子目录下的新建文件design.dat中。
floatx;
x=abs(a[i][0]);
for(j=0;
if(abs(a[i][j])>
x)
x=a[i][j];
a[i][j]/=x;
20、/*设计程序:
数列各项为1,1,2,3,5,8,13,21,...,求其前40项之和,*/
/*并将求和的结果以格式"
longs=0,i,a[40];
a[0]=1;
a[1]=1;
40;
a[i]=a[i-1]+a[i+1];
s=s+a[i];
fprintf(p,"
21、/*设计程序:
z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x,y取值为区间[0,10]的整数,找出使z取最小值的x1,y1,并将x1、y1以格式"
写入到考生目录中Paper子目录下的*新建文件design.dat中。
intx,y,x1,y1;
floatz,z1;
#definef(x,y)10*cos(x-4)+5*sin(y-2)
min=f(0,0);
for(x=0;
for(y=0;
22、计算27的小于1.00001的2n次方根(27的2(n-1)次方根不小于1.00001),将n以格式"
{floatx=27;
intn=0;
FILE*p;
while(!
(x<
1.00001&
x*x>
=1.00001))
{x=sqrt(x);
n++;
printf(“%d”,n);
p=fopen(“design.dat”,”w”);
fprintf(p,“%d”,n);
23、设计程序:
x[i],y[i]分别表示平面上1个点的x、y坐标,求下列5点各点间距离总和,并将该数以格式"
%.4f"
写到考生目录中Paper子目录下的新建文件design.dat。
{floats,x[5]={-1.5,2.1,6.3,3.2,-0.7};
floaty[5]={7,5.1,3.2,4.5,7.6};
s=0;
5;
for(j=i+1;
s=s+sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
printf(“%.4f”,s);
fprintf(p,“%.4f”,s);
24、数组元素x[i]、y[i]表示平面上某点坐标,统计10个点中处在圆(方程为:
(x-1)*(x-1)+(y+0.5)*(y+0.5)=25)内的点数k,并将变量k的值以格式
“%d”写入到考生文件夹中paper子文件夹下的新建文件Design1.dat。
inti,k=0;
for(i=0;
if(((x[i]-1)*(x[i]-1)+(y[i]+0.5)*(y[i]+0.5))<
25)
k++;
printf("
k);
design1.dat"
25、x[i]、y[i]表示平面上一个点的坐标,求下列10个点与点(1.0,1.0)的距离的总和,并将结果以格式“%.6f”写入到考生文件夹中paper子文件夹下的新建文件Design2.dat。
voidmai