资源描述
附加程序设计题
1、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:累加a字符串中各个字符的ASCII码值,然后将累加和以格式"%d"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
void main()
{ FILE *p; int s=0,i=0;
char *a="r235%^%34cdDW,.";
p=fopen("design.dat","w");
while(*a!='\0')
{s=s+(*a);
a++;}
fprintf(p,"%d\n",s);
fclose(p);
}
2、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:有数列:2/1,3/2,5/3,8/5,13/8,21/13,……求出数列的前40项的和。将计算结果以格式"%.6f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include<stdio.h>
void main()
{
FILE *p;
int i;
float f1=1.0,f2=2.0,t1=2.0,t2=3.0,s;
float f,t;
s=t1/f1+t2/f2;
p=fopen("design1.dat","w");
for(i=1;i<=2;i++)
{f=f1+f2;
t=t1+t2;
s=s+t/f;
f1=f2;f2=f;
t1=t2;t2=t; }
fprintf(p,"%.6f\n",s);
fclose(p);
}
3、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:求斐波那契(Fibonacci)数列中大于t的最小的一个数,结果由函数JSValue返回,
其中斐波那契数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(N-1)+F(n-2)
分别计算当t=1000和t=3000时的结果,将计算结果写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include<stdio.h>
long JSValue(int t)
{ int a[20],i=1;
a[0]=1;a[1]=1;
while(a[i]<t)
{
i++;
a[i]=a[i-1]+a[i-2];
}
return a[i];
}
void main()
{
FILE *p;
p=fopen("design.dat","w");
fprintf(p,"%d,%d\n",JSValue(1000),JSValue(3000));
fclose(p);
}
4、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:x[i],y[i]分别表示平面上1个点的x、y坐标。求下列5点各点间距离总和,并将该数以格式"%.4f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
#include <math.h>
void main()
{ FILE *p; float s,x[5]={-1.5,2.1,6.3,3.2,-0.7};
float y[5]={7,5.1,3.2,4.5,7.6}; int i,j;
s=0;
p=fopen("design.dat","w");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
s=s+sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2));
s=s/2;
fprintf(p,"%.4f",s);
fclose(p);
}
5、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:求斐波那契(Fibonacci)数列中其前40项之和,(斐波那契数列的定义为后一项为
前两项之和),并将求和的结果以格式"%d"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
void main()
{ FILE *p; long s=0,i,a[40];
a[0]=1;a[1]=1;s=a[0]+a[1];
for (i=2;i<40;i++)
{a[i]=a[i-1]+a[i-2];
s+=a[i];
}
p=fopen("design.dat","w");
fprintf(p,"%ld",s);
fclose(p);
}
6、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:某公司1999年年产量11.5万件,生产能力每年提高9.8%,求出产量能超过x万件的年份,结果由函数Year返回。分别计算当x=20和x=30时的结果,将计算结果写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include<stdio.h>
int Year(int x)
{
double p=11.5;int y=1999;
while(p<x)
{ p=p*1.098;
y++;
}
return y;
}
void main()
{ FILE *p;
p=fopen("design.dat","w");
fprintf(p,"%d,%d",Year(20),Year(30));
fclose(p);
}
7、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:计算多项式a0+a1*x+a2*x*x+a3*x*x*x+...+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式"%f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
#include <math.h>
void main()
{ FILE *p; int i; float x=1.279,t=1,y=0;
float a[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
y = a[0];
for(i=1; i<10; i++)
{ t = t*x;
y = y+a[i]* t;
}
p = fopen("design.dat", "w");
fprintf(p, "%.6f", y);
fclose(p);
}
8、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:将满足条件pow(1.05,n)<1e6<pow(1.05,n+1)的n及其相应pow(1.05,n)值以格式"%d,%.0f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
#include <math.h>
void main()
{ float y=1.05; int n=1; FILE *p;
while(!(pow(y,n)<=1e6 && pow(y,n+1)>=1e6))
n++;
P=fopen(“design.dat”,”w”);
fprintf(p,"%d,%.0f",n,pow(1.05,n));
fclose(p);
}
9、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:在正整数中找出1个最小的、被3、5、7、9除余数分别为1、3、5、7的数,将该数以格式"%d"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
#include <math.h>
void main()
{int i;FILE *p
for(i=3;i<1000;i++)
{ if(i%3==1&&i%5==3&&i%7==5&&i%9==7)
break;
}
P=fopen(“design1.dat”,”w”);
fprintf(p,"%d",i);
fclose(p);
}
10、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:利用公式π/4≈1-1/3+1/5-1/7+……公式计算π的近似值,直到某一项的绝对值小于1e-6为止。(π/4的结果不包含此项)将计算结果以格式"%.6f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
#include <math.h>
void main()
{
FILE *fp;
float n=1,t=1,pi=0;
int i;
i=1;
while((fabs(n))>1e-6)
{pi=pi+n; i+=2;
t=-t; n=t/i;
}
P i=pi*4;
fp=fopen(“design.dat”,”w”);
fprintf(fp,"pi=%.6f\n",pi);
fclose(p);
}
11、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式"%.5f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
#include <math.h>
void main()
{ FILE *p; int i,k=0;
float x[10]={7.23,-1.5,5.24,2.1,-12.45,6.3,-5,3.2,-0.7,9.81},d,v=0;
for(i=0;i<10;i++) v+=x[i]; v=v/10; d=fabs(x[0]-v);
for(i=1;i<10;i++)
if(fabs(x[i]-v)<d)
{d=fabs(x[i]-v);
k=i;
}
p=fopen("design.dat","w");
fprintf(p,"%.5f",x[k]);
fclose(p);
}
12、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:数组元素x[i]、y[i]表示平面上某点坐标,统计10个点中处在圆(方程为:(x-1)*(x-1)+(y+0.5)*(y+0.5)=25 )内的点数k,并将变量k的值以格式"%d"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include <stdio.h>
#include <math.h>
void main()
{ FILE *p; int i,k=0;
float x[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
float y[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33};
p=fopen("design.dat","w");
for(i=0;i<10;i++)
if((x[i]-1)*(x[i]-1)+(y[i]+0.5)*(y[i]+0.5)<25) k++;
fprintf(p,"%d",k);
fclose(p);
}
13、在考生文件夹的Paper子文件夹下已有Design1.c文件。
设计编写并运行程序,完成以下功能:计算500~800区间内素数的个数cnt和素数和sum。请编写函数JSValue()实现程序的要求。最后把cnt和sum的值写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat
#include<stdio.h>
int cnt,sum;
void JSValue()
{
int i,j,half;
cnt=0; sum=0;
for(i=500;i<=800;i++)
{ half=i/2;
for(j=2;j<=half;j++)
if(i%j==0) break;
if(j>half)
{ cnt++;
sum = sum+i;
}
}
}
void main()
{
FILE *p;
p=fopen("design.dat","w");
JSValue();
fprintf(p,"%d,%d",cnt,sum);
fclose(p);
}
14、设计程序:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于
十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt及这些数字的和sum到考生目录中Paper子目录下的新建文件design.dat中。
#include<stdio.h>
void main()
{ FILE *p;
int cnt,sum;
int i,q,b,s,g;
cnt=0,sum=0;
p=fopen("d:\\design.dat","w");
for(i=1000;i<5000;i++)
{g=i%10,s=(i/10)%10,b=(i/100)%10,q=i/1000;
if(q+b==s+g&&q+b==fabs(g-q)*10)
{cnt++;sum=sum+i; }
}
fprintf(p,"%d,%d",cnt,sum);
fclose(p);
}
展开阅读全文