2023年浙江省二级C语言程序编写题库.pdf
一、程序填空(1)找 Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1(2)输入1 个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。(3)求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。(4)调用函数f,将一个整数首尾倒置。例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。(5)调用函数f,从字符串中删除所有的数字字符。(6)调用find函数在输入的字符串中查找是否出现the”这个单词。假如查到返回出现的次数,假如未找到返回0。(7)输入的一个小写字母,将字母循环后移5 个位置后输出。例如:”a变成f,变成“b。(8)将字符串S 中所有的字符c删除。(9)对 x=1,2.1 0,求 f(x)=x*x-5*x+sin(x)的最大值。(10)输入三个整数,按由小到大的顺序输出这三个数。(11)调用函数f,去除数组中的负数,输入数组x 7,输出结果为:1346(12)调用函数 f 计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x 当 x=1.7 时的值。(13)分别记录字符串中英文字母、数字、和其他字符出现的次数。(14)将输入的十进制整数n 通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。(15)将输入的十进制正整数n 通过函数Dec2Bin转换为二进制数,并将转换结果输出。0),求 m 使得2 的 m 次方小于或等于n,2 的m+1次方大于或等于n。二、程序改错(1)输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。(2)输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t 中,再将字符串中的字符按逆序连接到字符串t 后面。例如:输入“ABCD,则字符串t 为 ABCDDCBA”。(3)运营时输入10个数,然后分别输出其中的最大值、最小值。(4)用选择法对10个整数按升序排序。(5)输入x 和正数e ps,计算多项式1-x+x*x/2-x*x*x/3!+的和直到末项的绝对值小于eps为止。(6)运营时若输入a、n 分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333。(7)用递归法将一个六位整数n 转换称字符串。例如:输入123456,应输出字符串123456”。(8)输入n,再输入n 个点的平面坐标,然后输出那些距离坐标原点不超过5 的点的坐标值。(9)运营时输入n,则输出n 的所有质数因子。例如:n=13860,则输出2、2、3、3、5、7、11。三、编写程序(1)在正整数中找出1 个最小的、被 3、5、7、9 除余数分别为1、3、5、7 的数,将该数以格式%d”写入到考生文献夹中Paper子文献夹下的新建文献Designl.dat中。(2)若 a、b 为 1对密切数,则 a 的因子和等于b、b 的因子和等于a、且 a 不等于b.如:220、284是 1对密切数,284、220也是1对密切数。在 65000内找出所有的密切数对,并将每对密切数用语句fprintf(p,%6d,%6d n,a,b)写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(3)设计程序:计算字符串s 中每个字符的权重值,所谓权重值就是字符在字符串中的位置值与该字符的ASCII码值的乘积。位置值从1开始依此递增。将每个字符的权重值,以格式“d”写入到源程序目录中Paper子目录下的新建文献design.dat中。(4)将数组a 的每一行均除以该行上绝对值最大的元素,然后将a 数组写入到考生文献夹中Paper子文献夹下的新建文献Design1.dat。(5)z=f(x,y)=(3.14*x-y)/(x+y),若 x、y 取值为区间 1,6 的整数,找出使z 取最小值的x1、y1,并将x1、y 1以格式 d,%d写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(6)z=f(x,y)=10*cos(x-4)+5*sin(y-2),若 x、y 取值为区间 0,10 的整数,找出使z 取最小值的x1、y1,并将x1、y1以格式 d,%d写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(7)设计程序:数组元素x i、y i 表达平面上某点坐标,记录所有各点间最短距离,并将其值以格式”f写到源程序目录中Paper子目录下的新建文献design.dat中。(8)设计程序:在数组x 的 10个数中求平均值v,找出与v 相差最小的数组元素并将其以格式.5f写到考生目录中Paper子目录下的新建文献design.dat中。(9)对 x=1,2,.1O,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式.3f写入到考生文献夹中Paper子文献夹下的新建文献Design1.dat。(1 0)将字符串s 中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat,(1 1)在整数数组a 中找出偶数放到b 数组中,对 b 数组按从小到大的顺序进行排序后以格式“3d”每行3 个数写入到考生文献夹中Paper子文献夹下的新建文献Design1.dat。(1 2)计算多项式a0+a1*x+a2*x*x+a3*x*x*x+.+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式 f写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(1 3)运用公式B/4-1T/3+1/5-1/7+公式计算n 的近似值,直到某一项的绝对值小于le-6为止。(n/4 的结果不包含此项)将计算结果以格式”.6 写入到考生文献夹中Paper子文献夹下的新建文献Design1.dat。(1 4)计算表达式1+2!+3!+12!的值,并将计算结果以格式“Id”写入考生文献夹中Paper子文献夹下的新建文献 Design2.dat。(1 5)计算数列1,-1/3!,1/5!,-1/7!,1/9!.的和至某项的绝对值小于1 e-5时为止(该项不累加),将求和的结果以格式.6f”写入到考生文献夹中Paper子文献夹下的新建文献Designl.dat中。(1 6)计算多项式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”写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat中。(1 7)有数列:2/1,3/2,5/3,8/5,13/8,21/13.求出数列的前40项的和。将计算结果以格式 写入到考生文献夹中Paper子文献夹下的新建文献Designl.dat中。(1 8)累加a 字符串各个字符的ASCII码值,然后将累加和以格式“d”写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat中。(19)计算2 的平方根、3 的平方根.10的平方根之和,规定计算结果具有小数点后10位有效位数,并以格式.10f n写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat中。(20)x i,y i 分别表达平面上的一个点的坐标,求下列10个点与点(1.0,1.0)的距离的总和,并将结果以格式.6f写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(2 1)在正整数中找出1 个最小的、被 3、5、7、9 除余数分别为1、3、5、7 的数,将该数以格式%d写入到考生文献夹中Paper子文献夹下的新建文献Design1.dat中。(2 2)寻找并输出11至 999之间的数m,它满足m、m*m、m*m*m均为回文数。说明:所谓回文数是指各位数字左右时称,例如121、676、94249等。满足上述条件的数如m=11,mA2=121,mA3=1331皆为回文数。请编制函数intJSValue(longm)实现此功能,假如是回文数,则函数返回1,反之则返回0。最后把结果写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(2 3)数组元素xi、y i 表达平面上某点坐标,记录10个点中处在圆(方程为:(x-1)*(x-1)+(y+0.5)*(y+0.5)=25)内的点数k,并将变量k 的值以格式 d写入到考生文献夹中Paper子文献夹下的新建文献Designl.dat。(2 4)某公司1999年年产量11.5万件,生产能力每年提高9.8%,求出产量能超过X万件的年份,结果由函数Year返回。分别计算当x=20和 x=30时的结果,将计算结果写入到考生文献夹中Paper子文献夹下的新建文献 Design1.dat。(2 5)求斐波那契(Fibonacci)数列中其前40项之和,(斐波那契数列的定义为后一项为前两项之和),并将求和的结果以格式 d写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(2 6)求斐波那契(Fabonacci)数列中大于t 的最小的一个数,结果由函数JSValue返回,其中斐波那契数列F(n)的定义为:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)分别计算当t=1000和 t=3000时的结果,将计算结果写入到考生文献夹中Paper子文献夹下的新建文献Designl.dat.(2 7)已知公鸡每只5 元、母鸡每只3 元、小鸡1 元3 只。求出用100元买100只鸡的解。将得到的解按公鸡、母鸡和小鸡的只数以格式 d,%d,%d写入到考生文献夹中Paper子文献夹下的新建文献Designl.dat。(2 8)记录满足条件x*x+y*y+z*z=2023的所有解的个数,(注意:若 a、b c 是一个解,则a、c b 也是一个解,等 等)。并将记录结果以格式 d”写入到考生文献夹中Paper子文献夹下的新建文献Design1.dat。(2 9)将数组a 的每1行均除以该行上的主对角线元素(第1 行除以a00,第 2 行除以a 1 1.),然后将 a 数组写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(3 0)计算500800区间内素数的个数ent和素数和sum。请编写函数JSValue。实现程序的规定。最后把ent和sum的值写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(31)将满足条件pow(1.05,n)v1e6vpow(1.05,n+1)的n及其相应pow(1.05,n)值以格式”4%.0f写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。(1 )找 Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1#include#includevoid main()int i,a,b,c;for(i=100;i=999;i+)a=i/100;1/b=i%100/10;c=i%10;if(2)/a*a*a+b*b*b+c*c*c=iprintf(%d is a Armstrong number!n i);)(2)输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。#include void main()int n,k=0;scanf(%d,&n);while(_ 1)/n!=0k+;2;/n=n/1 0printf(d n,k);)(3)求输入的整数各位数字之和,如输入234则输出9,输入612则输出60#include#include void main()(int n,s=0;scanf(M%d,&n);1/if(n0)n=-n;while(n!=0)2/s+=n%10;n=n/10;)printf(%d n,s);)4)调用函数f,将一个整数首尾倒置。例如:若程序输入12345,贝 U 输出54321;若程序输入-34567,则输出-76543cinclude#include long f(long n)long m,y=0;m=fabs(n);while(m!=0)y=y*10+m%10;_1_/m=m/10:)if(n=0)return y;else 2/return-y;)void main()(printf(H%ld C,f(12345);printf(%ld n0,f(-34567);)(5)调用函数f,从字符串中删除所有的数字字符。#include#include include void f(char*s)int i=0;while(si!=0)if(isdigit(si)_ 1_(s+i,s+i+1);strcpy2 i+;/else)void main()char str 80;gets(str);f(str);puts(str);)(6)调用find函数在输入的字符串中查找是否出现the”这个单词。假如查到返回出现的次数,假如未找到返回0。#include int find(char*str)char*fstr=the;int i=O,j,n=O;while(str i!=Y)f or(1)/j=0;j=3i+;)return n;)void main()char a 80;gets(a);printf(%d,find(a);)(7)输入的一个小写字母,将字母循环后移5个位置后输出.例如:“a”变成十,变成b。include void main()char c;c=getchar();if(1)/c=目&c=v,&ca+5)%26+a,;putchar(c);(8)将字符串s中所有的字符e删除。#include void main()char s 80;int i,j;gets(s);f o r(i=j=0;1;i+)/si!=0if(s i !=c)sD=s i;2/j+;)sO=0;puts(s);)(9)对x=1,2,.,1 0.求f(x)=x*x5*x+sin(x)的最大值。include#include#define f(x)x*x-5*x+sin(x)void main()int x;float max;1/max=f(1);for(x=2;xmax)max=f(x);printf(%f n,max);)(1 0)输入三个整数,按由小到大的顺序输出这三个数。#include void s wa p(1)/int*pa,int*pb/*互换两个数的位置7int temp;temp=*pa;*pa=*pb;*pb=temp;)void main()int a,b,c,temp;scanf(%d%d%d,&a,&b,&c);if(ab)swap(&a,&b);if(bc)swap(&b,&c);if(2)/if(ab)swap(&a,&b);printf(%d,%d,%d,a,b,c);)(11)调用函数f,去除数组中的负数,输入数组x 7,输出结果为:134 6#include /数组元素的删除void f(int*a,int*m)int i.j;for(i=0;i*m;i+)if(a i 0)for(j=i-;j*m-1;j+)a0=a0+1;1;/*m=*m-1;)void main()int i,n=7,x 7=1,-2,3,4,-5,6,-7);2;/f(x,&n);for(i=0;in;i+)printf(%5d,x i);printfCn);)(1 2)调用函数 f 计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x 当 x=1.7 时的值。#include float f(float,float*,int);void main()float b5=1.1,2.2,3.3,4.4,5.5;printf(%f n,1 f(1.7,b,5);)float f(1)/float x,float*a,int nfloat y=a 0,t=1;int i;for(i=1;in;i+)t=t*x;y=y+ai*t;2/return y;)1 3)分别记录字符串中英文字母、数字、和其他字符出现的次数。#include#include void main()char a 80;int n 3=0,i;gets(a);1/for(i=0;ai!=0,;i+)if(tolower(a i)=*a,&tolower(ai)v=z)/记录字母个数7n 0+;else if(2)/*记录数字个数*/ai=0&ai=,9,n 1+;elsen 2+;)for(i=0;i3;i+)printf(M%d nM,n i);)(1 4)将输入的十进制整数n通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。(例如:输入十进制数7 9,将输出卜六进制4f。)#include#include char trans(int x)(if(x10)return O+x;else 1/return a+x-10;)int DtoH(int n.char*str)(int i=0;while(n!=0)(2H stri=trans(n%16);n/=16;i+;return i-1;)void main()(int i,k,n;char*str;scanf(%d,&n);k=DtoH(n,str);for(i=0;i=k;i+)printf(%c,str k-i);)(1 5)将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。#include void Dec2Bin(int m)(int bin 32,j;for(j=0;m!=0;j+)(bi n j =1;/m%2m=m/2;)for(;j!=0;j-)printf(%d,2);/binj-1)void main()(int n;scanf(M%d,&n);Dec2Bin(n);(1 6)数列的第1、2 项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。#include 1/long f(int n);或者 long f(int);void main()printf(,%ld n,f(30);)long f(int n)if(2)/n=1|n=2return 1;elsereturn f(n-1)+f(n-2);(1 7)该程序计算四位学生的平均成绩,保存在结构中,然后列表躲出这些学生的信息。#include struct STUDENTchar name 16;int math;int english;int computer;int average;);void GetAverage(struct STUDENT*pst)/*计算平均成绩*/int sum=0;sum=1;/pst-math+pst-engtish+pst-computerpst-average=sum/3;)void main()int i;struct STUDENT st 4=,Jessica,98,95,90,Mike,80,80,90,Linda”,87,76,70,Peter”,90,100,99;for(i=0;i4;i+)GetAveraae(2):/st+i)printf(MName tMath tEnglish tCompu tAverage n);for(i=0;i4;i+)printf(%s t%d t%d t%d t%d n,st i.name,st i.math,st i.english,st puter,st i.average);)(1 8)输入m、n(规定输入数均大于0)。输出它们的最大公约数。#includevoid main()int m,n,k;while(scanf(%d%dM,&m,&n),1);/m=0|nn?n:mprintf(%d n,k);)(1 9)求出a 中各相邻两个元素的和,并将这些和存放在数组b 中,按每行3 个元素的形式输出。例如:b 1=a+或1.,b 9=a 8+a 9 o#include void main()int a 10,b 10,i;printf(Anlnput 10 numbers:);for(i=0;i10;i+)P 数组输入 7scanf(%d,t,&a(i);for(i=1;i10;i+)b i =1;/*计算 b 数组中的元素 7/ai-1+aifor(i=1;i0),求 m使得2 的m 次方小于或等于n,2 的 m+1次方大于或等于n。include void main()int m=0,t=1,n;wh i l e(1);II scanf(,%d,&n),n=0 II 逗号表达式while(!(t=n)2/t=t*2;m+;)printf(u%d n,m);)二、程序改错1)输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。#include#include void main()char str 256;int i,j,k=O,n;gets(str);n=strlen(str);for(i=0;in;i+)/*1 */if(tolower(stri)z*)/if(tolower(stri)=a,&tolower(stri)=z)(/*2*Istr n=str i;n+;/strk=stri;k+;)str k=,O,;printf(%s n,str);)(2)输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t 中,再将字符串中的字符按逆序连接到字符串t 后面.例如:输入“ABCD,则字符串 t 为 ABCDDCBA。#include include void fun(char*s,char*t)int i,sl;sl=strlen(s);for(i=0;isl;i+)ti=s i;for(i=0;isl;i+)/*i*/tsl+i=ssl-i;/tsl+i=ssl-1-i;y*2*/tsl=O;/tsl+i=*0;)void main()chars 1OO,t 1OOJ;scanf(%s,s);fun(s,t);printf(%sM,t);)(3)运营时输入10个数,然后分别输出其中的最大值、最小值。include void main()float x,max,min;int i;/*/for(i=0;i=10;i+)/for(i=1;imax)max=x;if(xmin)min=x;)printf(%f,%f n,max,min);)(4)用选择法对10个整数按升序排序。include#define N 10void main()int i,j,min,temp;int a N=5,4,3,2,1,9,8,7,6,0;printf(nThe array is:n);r 输出数组元素*/for(i=0;iN;i+)printf(%5d,a i);for(i=0;iN-1;i+)/*排序操作/min=i;for(j=i+1;jN;j+)/*Jif(a min aj)min=j;/*2 mtemp=a min;a min=aO;a j=temp;/*数据互换 7/改成 temp=amin;amin=ai;ai=temp;)printf(nThe sorted numbers:n);/*输出排序结果 7for(i=0;iN;i+)printf(%5d,a i);printf(AnM);)(5)输入x和正数e p s,计算多项式1-x+x*x/2-x*x*x/3!+的和直到末项的绝对值小于eps为止。#include#include void main()float x,eps,s=1,t=1,i=1;scanf(,%f%f,&x,&eps);dot=-t*x/+i;/t=-t*x/i+;s+=t;/*2*I while(fabs(t)=eps);printfC%f n,s);)(6)运营时若输入a、n 分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333。#include void main()int i,a,n;long t=0;s=0;/long s=0;scanf(n%d%d,&a,&n);for(i=1;i=n;i+)*2*It=t*1O+i;/t=t*1O+1;s=s+t;)s=s*a;printf(%ld n,s);)(7)用递归法将一个六位整数n 转换称字符串。例如:输入123456,应输出字符串123456。#includevoid itoa(long i.char*s)if(i=0)return;/*/*s=,1+i%10;/*s=i%10+0;itoa(i/10,s-1);)void main()long n;char str 7=m,;scanf(M%ld,&n);/*2*Jitoa(n,str+6);H itoa(n,str+5);printf(%s,str);)(8)输 入 n,再输入n 个点的平面坐标,然后输出那些距离坐标原点不超过5 的点的坐标值。include#include#include void main()int i,n;/*1 *Istruct axy float x,y;a;/struct axy float x,y;*a;scanf(%d,&n);a=(float,)malloc(n*2*sizeoffloat);for(i=0;in;i+)scanf(M%f%fM,a i.x,a i.y);/scanf(,%f%f,&ai.x,&ai.y);for(i=0;in;i+)if(sqrt(a i.x*a i.x+a i.y*a i.y)=5)printf(%f,%f n,a i.x,a i.y);)(9)运营时输入n,则输出n 的所有质数因子。例如:n=13860,则输出2、2、3、3、5、7、11。include void main()int n,i;scanf(M%d,&n);/*Ji=1;/i=2;while(n1)if(n%i=O)printf(%d tj);n/=i;)else2*1n+;/i+;)三、编写程序(1)在正整数中找出1 个最小的、被3、5、7、9 除余数分别为1、3、5、7 的数,将该数以格式%d写入到考生文献夹中Paper子文献夹下的新建文献Design1.dat中。#include#include void main()/*考生在这里添加代码7FILE*p;inti;p=fopen(Design1.dat,w);for(i=1;i+)if(i%3=1&i%5=3&i%7=5&i%9=7)break;fprintf(p,1%1,i);fclose(p);)(2)若a、b为1对密切数,则a的因子和等于b、b的因子和等于a、且a不等于b.如:220、284是1对密切数,284、220也是1对密切数。在6-5000内找出所有的密切数对,并将每对密切数用语句fprintf(p,%6d,%6d n”,a,b)写入到考生文献夹中Paper了文献夹下的新建文献Design2.dat。#include void main()FILE*p;int atb,c,k;p=fopen(design.datM,w);/*考生在这里添加代码*/for(k=6;k=5000;k+)b=0;c=0;for(a=1;ak;a+)if(k%a=0)b+=a;for(a=1;ab;a+)if(b%a=0)c+=a;if(k=c&k!=b)fprintf(p,%6d,%d nM,k,b);)fclose(p);)(3)设计程序:计算字符串S中每个字符的权重值,所谓权重值就是字符在字符串中的位置值与该字符的ASCII码值的乘积。位置值从1开始依此递增。将每个字符的权重值,以格式d 写入到源程序目录中Paper子目录下的新建文献design.dat中。#include#includevoid main()FILE*p;int i,w;char*s=we45,&y3r#$r,;广考生在这里添加代码7p=fopen(design.dat,w);for(i=0;s昨 到i+)w=(i+1)*si;fprintf(p,%d,w);)fclose(p);)(4)将数组a的每一行均除以该行上绝对值最大的元素,然后将a数组写入到考生文献夹中Paper子文献央下的新建文献Design1.dat。#include include void main()float a3 3=1.3,2.7,3.6,234.7,3,4,1.27;FILE*p;float x;int i,j;/*考生在这里添加代码7for(i=0;i3;i+)x=a i 0;for(j=1;jx)x=a i j;for(j=0;j3;j+)a i 0/=x;)尸*添加代码结束p=fopen(,design.dat;w);for(i=0;i3;i+)for(j=0;j3;j+)fprintf(p,%10.6fH,a i j);fprintf(p,n);)fclose(p);)(5)z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间1,6J的整数,找出使z取最小值的x1、y 1,并将x1、y 1以格式%d,%d写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat.:#include void main()FILE*p;float f(float x,float y),min;int x,y,x1,y1;/*考生在这里添加代码*/min=f(1,1);x1=y1=1;for(x=1;x=6;x+)for(y=1;y=6;y+)if(f(x,y)min)min=f(x,y);x1=x;y1=y;p=fopen(,Design2.datM,Mw);fprintf(p,%d,%d,x1,y1);fclose(p);/*添加代码结束*/)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、y 1,并将x1、y 1以格式d,%d写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat.#include#includevoid main()FILE*p;int x,y,x1,y1;float z,z1;/*考生在这里添加代码7z1=10*cos(-4)+5*sin(-2);x1=y1=0;for(x=0;x=10;x+)for(y=0;y=10;y+)z=10*cos(x-4)+5*sin(y-2);if(zz1)z1=z;x1=x;y1=y;)p=fopen(Design2.dat,w);fprintf(p,%d,%d,x1,y1);fclose(p);)(7)设计程序:数组元素x i、y i表达平面上某点坐标,记录所有各点间最短距离,并将其值以格式 俨写到源程序目录中Paper了 目录下的新建文献design.dat中。#include include#define Ien(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 );/“考生在这里添加代码7for(i=0;i10;i+)for(j=i+1;j10;j+)/注意:不能为 for(j=0;j10;j+)c=len(x i,y i,xD,yUD;if(cminc)minc=c;)p=fopen(Design.datM,w);fprintf(p,%f,minc);fclose(p);)(8)设计程序:在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式,%5 r写到考生目录中Paper子目录下的新建文献design.dat中。include#include 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;i10;i+)v+=x i;v=v/10;d=fabs(x 0-v);/*考生在这里添加代码*/for(i=1;i10;i+)if(fabs(xi-v)d)d=fabs(xi-v);k=i;p=fopen(Design.datn,w);fprintf(p,%.5fH,xk);fclose(p);)(9)对x=1,2,1 0,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式”.3f写入到考生文献夹中Paper子文献夹下的新建文献Design 1.date#include#include void main()FILE*p;float f(float),max,x;考生在这里添加代码*/int i;max=f(1);for(i=2;i=10;i+)x=f(i);if(maxx)max=x;)p=fopen(,Design1.daf,/W);fprintf(p,M%.3fM,max);fclose(p);float(float x)float t;t=x-10*cos(x)-5*sin(x);return t;)(1 0)将字符串s中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串写入到考生文献夹中Paper子文献夹下的新建文献Design2.dat。#include include void main()FILE*p;char*s=,634,.%w|SQ2,c;int i,j,k,n=strlen(s);/*考生在这里添加代码/char str 40;strcpy(str,s);for(i=0;in-1;i+)k=i;for(j=i+1;jstrO)k=j;c=str i;str i=strk;str k=c;)s=str;p=fopen(Design2.dat,W);/*添加代码结束*/for(i=0;in;i+)fputc(s i,p);fclose(p);)(1 1)在整数数组a中找出偶数放到b数组中,对b数组按从小到大的顺序进行排序后以格式3d每行3个数写入到考生文献夹中Paper子文献夹下的新建文献Designl.dato#include void main()FILE*p;int i,j,temp,n=O;int a 10=7,6,20,3,14,88,53,62,10,29,b10;厂考生在这里添加代码7for(i=0;i10;i+)if(a i%2=0)b n+=a i;for(i=0;in-1;i+)for(j=0;jb i+1)temp=bO;b j=b j+1;bD+1=temp;p=fopen(Design1.dat,w);for(i=0;in;i+)if(i%3=0)fprintf(p,n%3d1b i);else fprintf(p;,%3d,b i);fclose(p);)(1 2)计算多项式a0+a1*x+a2*x*x+a3*x*x*x+.+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式f写入到考生文献夹中Paper子文献夹下的新建文献Design2.datcinclude#include void main()FILE*p;int i;float x=1.279,t=1,y=0;float a10=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65;/*考生在