当前位置:首页 > 浙江省二级C语言程序设计题2
C 程序设计题 2
一、要求说明:
1. 在考生文件夹的 Paper/CD2 子文件夹中,已有 CD2.c 文件 2. 该程序中标有
部分为考试需要程序设计部分的标志。
考生需根据程序的功能设计编写程序,并调试运行程序; 3. 单击“回答”按钮后进行程序设计; 二、注意事项:
1. 在设计时,不得删除设计部分标志;
2. 不得对设计部分标志以外的程序内容进行加行、减行、加句、减句。 三、程序功能:
1 1. 将数组a的每1行均除以该行上的主对角元素;
2. 说明:第1行都除以a[0][0];第2行都除以a[1][1],... #include
{ FILE *fp; double c; int i,j;
double a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; /****考生在以下空白处写入执行语句******/
/****考生在以上空白处写入执行语句******/ for(i=0;i<3;i++) {
for(j=0;j<3;j++) printf(\ putchar('\\n'); }
fp=fopen(\ fwrite(*a+8,8,1,fp); fclose(fp); }
2 x,y为取值在区间[0,10]的整数,计算并显示函数f(x,y) 在区间内取值最小点x1、y1。
f(x,y)?3?(x?5)?x?x?(y?6)?(y?7)?y
#include
long f(long x,long y) {
return 3*(x-5)*x+x*(y-6)+(y-7)*y; }
void main()
{ FILE *fp; long min,x1,y1,x,y;
/****考生在以下空白处写入执行语句******/
/****考生在以上空白处写入执行语句******/ printf(\ fp=fopen(\
fwrite(&min,4,1,fp);fwrite(&x1,4,1,fp); fwrite(&y1,4,1,fp); fclose(fp); }}
3 1. 计算字符串s中每个字符的权重值并依次写入到数组a。
2. 权重值是字符的位置值与该字符ASCII码值的乘积。首字符位置值为1,最后一个字符的位置值为strlen(s) #include
{ FILE *fp; long i,n,*a;
char s[]=\ n=strlen(s);
a=(long*)malloc(n*sizeof(long));
/****考生在以下空白处写入执行语句******/
/****考生在以上空白处写入执行语句******/ fp=fopen(\ fwrite(a,4,n,fp); fclose(fp); }
4 将字符串s中的所有字符按ASCII值从小到大重新排序,然后再显示该字符串。 #include
{ FILE *fp; int i,j,k,n;
char s[]=\ n=strlen(s);
/****考生在以下空白处写入执行语句******/
/****考生在以上空白处写入执行语句******/ puts(s);
fp=fopen(\ fwrite(s,1,n,fp); fclose(fp); }
5 x与函数值都取double类型,对x=1,1.5,2,2.5,...,9.5,10 求函数f(x)的最大值。 #include
/****考生在以下空白处声明函数f ******/
/****考生在以上空白处声明函数f ******/ void main()
{ FILE *fp; double x,max;
/****考生在以下空白处写入执行语句******/
/****考生在以上空白处写入执行语句******/ printf(\
fp=fopen(\ fwrite(&max,8,1,fp); fclose(fp); }
6 若x、y取值为区间[1,6]的整数,显示使函数f(x,y)取最小值的x1、y1。 函数f的原型为double f(int,int)
#include
/****考生在以下空白处声明函数f ******/
/****考生在以上空白处声明函数f ******/ void main()
{ FILE *fp; double min; int i,j,x1,y1;
/****考生在以下空白处写入执行语句******/
/****考生在以上空白处写入执行语句******/
printf(\ fp=fopen(\ fwrite(&min,8,1,fp); fclose(fp); }
7 函数f将二维数组每1行均除以该行上绝对值最大的元素。 函数main调用f处理数组a后按行显示,测试函数f正确与否。 #include
double f(double **x,int m,int n) { double max; int i,j; for(i=0;i for(j=1;j if(fabs(x[i][j])>fabs(max)) max=x[i][j]; for(j=0;j void main() { FILE *fp; double a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; double *c[3]={a[0],a[1],a[2]}; int i,j; /****考生在以下空白处写入执行语句******/ /****考生在以上空白处写入执行语句******/ fp=fopen(\ fwrite(*a+8,8,1,fp); fclose(fp); } 8 编制函数f计算下列表达式的值,函数main提供了一个测试用例。 函数原型为double f(double *,double,int) #include /*****考生在以下空白处编写函数f ******/ /****考生在以上空白处编写函数f ******/ void main() { FILE *fp; int i; double y;
共分享92篇相关文档