上机程序调试及程序设计练习
printf(\}
(7) 用递归法将一个六位整数n转换称字符串。例如:输入123456,应输出字符串\。
#include
void itoa(long i,char *s) { if(i==0) return;
/****** 1 ******/
*s = '1'+i; itoa(i/10,s-1); }
void main() { long n;
char str[7]=\ scanf(\ /****** 2 ******/
itoa(n,str+6); printf(\}
(8) 输入n,再输入n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。
#include
/***** 1 *****/
struct axy { float x,y; } a; scanf(\
a=(float*) malloc(n*2*sizeof(float)); for(i=0;i scanf(\ for(i=0;i if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5) printf(\} (9) 运行时输入n,则输出n的所有质数因子。例如:n=13860,则输出2、2、3、3、5、7、11。 #include scanf(\ /****** 1 ******/ 11 of 21 4/1/2013 上机程序调试及程序设计练习 i=1; while(n>1) if(n%i==0) { printf(\ n/=i; } else /******** 2 *******/ n++; } 三、编写程序 (1) 在正整数中找出1个最小的、被3、5、7、9除余数分别为1、3、5、7的数,将该数以格式\ 写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat中。 #include /*考生在这里添加代码*/ } (2) 若a、b为1对亲密数,则a的因子和等于b、b的因子和等于a、且a不等于b。如:220、284 是1对亲密数,284、220也是1对亲密数。在6~5000内找出所有的亲密数对,并将每对亲密数用语句fprintf( p, \m\\n\a, b)写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。 #include { FILE *p; int a,b,c,k; p=fopen(\ /*考生在这里添加代码*/ } (3) 设计程序:计算字符串s中每个字符的权重值,所谓权重值就是字符在字符串中的位置值与该字 符的ASCII码值的乘积。位置值从1开始依此递增。将每个字符的权重值,以格式\写入到源程序目录中Paper子目录下的新建文件design.dat中。 #include { FILE *p; int i,w; char *s=\ /*考生在这里添加代码*/ 12 of 21 4/1/2013 上机程序调试及程序设计练习 //。。。。。注意这里不要忘了添加 } (4) 将数组a的每一行均除以该行上绝对值最大的元素,然后将a数组写入到考生文件夹中Paper子 文件夹下的新建文件Design1.dat。 #include { float a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; FILE *p; float x; int i,j; /*考生在这里添加代码*/ /***添加代码结束***/ p=fopen(\ for(i=0;i<3;i++) { for(j=0;j<3;j++) fprintf(p,\ fprintf(p,\} fclose(p); } (5) z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将 x1、y1以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。 #include { FILE *p; float f(float x,float y),min; int x,y,x1,y1; /*考生在这里添加代码*/ /***添加代码结束***/ } float f(float u,float v) { return (3.14*u-v)/(u+v); } (6) z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x、y取值为区间[0,10]的整数,找出使z取最小值的x1、 y1,并将x1、y1以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。 #include int x,y,x1,y1; float z,z1; /*考生在这里添加代码*/ } 13 of 21 4/1/2013 上机程序调试及程序设计练习 (7) 设计程序:数组元素x[i]、y[i]表示平面上某点坐标,统计所有各点间最短距离,并将其值以格 式\写到源程序目录中Paper子目录下的新建文件design.dat中。 #include #define len(x1,y1,x2,y2) sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) void main() { FILE *p; int i,j; float c,minc; 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}; minc=len(x[0],y[0],x[1],y[1]); /*考生在这里添加代码*/ (8) 设计程序:在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式\ 写到考生目录中Paper子目录下的新建文件design.dat中。 #include { 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); /*考生在这里添加代码*/ } (9) 对x=1,2,…10,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式\写入到考生文件 夹中Paper子文件夹下的新建文件Design1.dat。 #include { FILE *p; float f(float),max,x; /*考生在这里添加代码*/ } (10) 将字符串s中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串写入到考生文件夹 中Paper子文件夹下的新建文件Design2.dat。 #include { FILE *p; char *s=\ int i,j,k,n=strlen(s); 14 of 21 4/1/2013 上机程序调试及程序设计练习 /*考生在这里添加代码*/ } (11) 在整数数组a中找出偶数放到b数组中,对b数组按从小到大的顺序进行排序后以格式\每 行3个数写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。 #include int i,j,temp,n=0; int a[10]={7,6,20,3,14,88,53,62,10,29},b[10]; /*考生在这里添加代码*/ } (12) 计算多项式a0+a1*x+a2*x*x+a3*x*x*x+…+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式\ 写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。 #include { 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}; /*考生在这里添加代码*/ } (13) 利用公式π/4≈1-1/3+1/5-1/7+……公式计算π的近似值,直到某一项的绝对值小于1e-6为 止。(π/4的结果不包含此项)将计算结果以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。 #include float n=1,t=1,pi=0; int i; /*考生在这里添加代码*/ } (14) 计算表达式1+2!+3!+…+12!的值,并将计算结果以格式\写入考生文件夹中Paper子文件夹 下的新建文件Design2.dat。 #include { FILE *p; long s=1,k=1; int i; /*考生在这里添加代码*/ } 15 of 21 4/1/2013