y=2*x*x*x-4*x*x+3*x-6; return y; }
double F1(double x) {return 6*x*x-8*x+3;}
double NT(double x0) {double x,f,f1; f=F(x0); f1=F1(x0);
while(fabs(f)>=1e-5) {x= x0-f/f1 ; x0=x ; f=F(x0); f1=F1(x0); }
return x; }
main() {double x;
x= NT(1.5) ;
printf(\}
2.用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根。 #include \#include \
float F(float x) /*计算函数值*/ {float y;
y=2*x*x*x-4*x*x+3*x-6; ___ return y__; }
float eff(float x1,float x2) /*求根*/ {float x0,fx0,fx1,fx2; do { __x0=(x1+x2)/2__; fx0=___F(x0)__; fx1=___F(x1)__; if((fx0*fx1)<0)
{x2=x0; fx2=fx0; }
else
{x1=x0; fx1=fx0; }
}while(_fabs(fx0)>=1e-5___); return x0;
}
main()
{float x1,x2,x,fx1,fx2,fx0; do {printf(\ scanf(\ fx1=F(x1); fx2=F(x2);
}while(fx1*fx2>0); x=__ eff (x1,x2)__; printf(\}
3.以下程序对某公司销售一组的年终奖金分配表进行两项处理:(1)计算年终奖总额,并填入表格相应位置;(2)调用子函数,将表格除最后一行以外,按奖金额从高到低排序。最后,将处理后的表格内容输出到文本文件bg.out中。
Name ZS ZL DY WW LS TOTAL Prize 18000 35000 30000 20000 26000 #include
{char name[20]; long prize; };
void PX(struct NZJ *p, int n) {int i , j;
struct NZJ t;
for(j=1; j<=n-1; j++) for(i=0;i<=n-1-j;i++)>
if(p[i].prize
prize<(p+i+1)->prize */ {t=p[i]; p[i]=p[i+1]; p[i+1]=t;} }
main( )
{struct NZJ a[6]={\ long s; int i;
FILE *fp;
fp=fopen(\ PX(a,5); s=0;
for(i=0;i<5;i++)
s=s+a[i].prize; a[5].prize=s;
printf(\ fprintf(fp,\ for(i=0;i<6;i++)
{printf(\ fprintf(fp,\ }
fclose(fp); }
4.任意读入一个十进制整数,使用递归输出其二进制序列。 #include
{ if (n/2!=0) tran(__n/2__); /*递归调用都必须在if语句的控制下*/
printf(\ /*先调用的后结束,正好对应“先产生的余数后输出”*/ }
main() {int x;
scanf(\
if(x<0){printf(\___x= -x__;} tran(x); printf(\ }
二、编程题
1.使用全局变量完成下列任务:任意读入10个字符串,调用子函数使用选择法对这10个串升序排列后由主函数输出。 #include
for(i=0;i<=N-2;i++) {k=i;
for(j=i+1;j } } main() {int i; for(i=0;i for(i=0;i 2.江苏省二级编程题 【程序功能】 现有10个十六进制数分别以字符串的形式存放在一个二维数组中,找出其中所有的素数,以十六进制形式和十进制形式输出每个素数。 【编程要求】 1)将编写的程序保存到“my”文件夹的myf2.c中。(考试时,此程序保存在T :\\myf2.c中) 2)编写函数int primevalue(char *num)。函数功能:已知num指向的数组中存储了一个十六进制数的字符串表示,函数将该字符串转换为一个整型数并判断其是否为素数,若是素数,则函数返回该素数,否则函数返回-1。 3)编写函数main()。函数功能:声明一个10行5列的二维数组并用测试数据初始化,用该数组每行中存储的字符串首地址作为实参依次调用primevalue函数,将找到的素数分别以十六进制形式和十进制形式输出到屏幕及数据文件“my”文件夹下的myf2.out中。最后将考生本人的学号(考试时,为准考证号)输出到myf2.out文件中。 【测试数据与运行结果】 测试数据:\屏幕输出: B3 179 11 17 1D 29 13 19 #include int primevalue(char *num) {int i,x,n=0; for(i=0;*(num+i)!='\\0';i++) {if(*(num+i)>='A'&&*(num+i)<='Z') x=*(num+i)-55; /* 'A'的ASCII码值为65 */ else x=*(num+i)-48; /* 字符'0'的ASCII码值为48 */ n=n*16+x; } x=2; while(n%x!=0)x++; if(x==n) return n; else return -1; } main() {char a[10][5]={\ int i,n; FILE *fp; fp=fopen(\ /*考试时必须保存到虚拟T盘的根文件夹下*/ for(i=0;i<10;i++) {n=primevalue(a[i]); if(n!= -1) {printf(\ %d\\n\ fprintf(fp,\ %d\\n\ } } fprintf(fp,\ /* 实际考试时,请输入自己的准考证号!*/ fclose(fp); }
相关推荐: