全国计算机二级C语言程序设计题100全中必过.docx
- 文档编号:15126168
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:132
- 大小:99.65KB
全国计算机二级C语言程序设计题100全中必过.docx
《全国计算机二级C语言程序设计题100全中必过.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言程序设计题100全中必过.docx(132页珍藏版)》请在冰点文库上搜索。
全国计算机二级C语言程序设计题100全中必过
题目一“回文”字符串
3.请编写函数fun,该函数的功能是:
判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。
回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
#include
#defineN80
intfun(char*str)
{
inti,n=0,fg=1;
char*p=str;
while(*p)/*将指针p置位到字符串末尾,并统计字符数*/
{
n++;
p++;
}
for(i=0;i if(str[i]==str[n-1-i]);/*相同,什么都不作*/ else/*不同,直接跳出循环*/ { fg=0; break; } returnfg; } main() { chars[N]; FILE*out; char*test[]={"1234321","123421","123321","abcdCBA"}; inti; printf("Enterastring: "); gets(s); printf("\n\n"); puts(s); if(fun(s)) printf("YES\n"); else printf("NO\n"); /************************************/ out=fopen("out.dat","w"); for(i=0;i<4;i++) if(fun(test[i])) fprintf(out,"YES\n"); else fprintf(out,"NO\n"); fclose(out); /************************************/ } 题目二迭代法求给定多项式的值 3.编写函数fun,其功能是: 根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。 程序运行后,若输入精度0.0005,则程序应输出为3.14…。 #include #include doublefun(doubleeps) { doubles=1.0,s1=1.0; intn=1; while(s1>=eps)/*当某项大于精度要求时,继续求下一项*/ {s1=s1*n/(2*n+1);/*求多项式的每一项*/ s=s+s1;/*求和*/ n++; } return2*s; } main() {doublex;voidNONO(); printf("Inputeps: "); scanf("%lf",&x);printf("\neps=%lf,PI=%lf\n",x,fun(x)); NONO(); } 题目三迭代法求给定方程的根 3.编写函数fun,其功能是: 利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,将x1的值赋给x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚 (2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出结果Root=0.739086。 #include #include doublefun() { doublex0,x1; x1=0.0; do { x0=x1; x1=cos(x0); }while(fabs(x0-x1)>=1e-6); returnx1; } main() { voidNONO(); printf("Root=%f\n",fun()); NONO(); } 题目四二维数组三角元素操作1 3.程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(inta[][N],intn),该函数的功能是: 使数组左下半三角元素中的值乘以n。 例如,若n的值为3,a数组中的值为: 则返回主程序后a数组中的值应为: #include #include #include #defineN5 voidfun(inta[][N],intn) { inti,j; for(i=0;i for(j=0;j<=i;j++) a[i][j]=a[i][j]*n; } main() { inta[N][N],n,i,j; FILE*out; printf("*****Thearray*****\n"); for(i=0;i { for(j=0;j { a[i][j]=rand()%10; printf("%4d",a[i][j]); } printf("\n"); } n=rand()%4; printf("n=%4d\n",n); fun(a,n); printf("*****THERESULT*****\n"); for(i=0;i { for(j=0;j printf("%4d",a[i][j]); printf("\n"); } /******************************/ out=fopen("out.dat","w"); for(i=0;i for(j=0;j a[i][j]=i*j+1; fun(a,9); for(i=0;i { for(j=0;j fprintf(out,"%4d",a[i][j]); fprintf(out,"\n"); } fclose(out); /******************************/ } 题目四二维数组三角元素操作2 3.下列程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(inta[][N]),该函数的功能是: 将数组左下半三角元素中的值全部置成0。 例如a数组中的值为: 197 238 456 则返回主程序后a数组中的值应为: 097 008 000 #include #include #include #defineN5 voidfun(inta[][N]) { inti,j; for(i=0;i for(j=0;j<=i;j++) a[i][j]=0;/*将数组左下半三角元素中的值全部置成0*/ } voidmain() { FILE*wf; inta[N][N],i,j; intb[N][N]={1,9,7,2,4,2,3,8,1,2,4,5,6,7,5,4,0,6,8,0,2,7,1,6,4}; system("CLS"); printf("*****Thearray*****\n"); for(i=0;i {for(j=0;j {a[i][j]=rand()%10; printf("%4d",a[i][j]); } printf("\n"); } fun(a); printf("THERESULT\n"); for(i=0;i {for(j=0;j printf("%4d",a[i][j]); printf("\n"); } /******************************/ wf=fopen("out.dat","w"); fun(b); for(i=0;i {for(j=0;j fprintf(wf,"%4d",b[i][j]); fprintf(wf,"\n"); } fclose(wf); /*****************************/ } 题目四二维数组三角元素操作3 3.下列程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(inta[][N],intm),该函数的功能是使数组右上半三角元素中的值乘以m。 例如,若m的值为2,a数组中的值为: 则返回主程序后a数组中的值应为: #include #include #include #include #defineN5 voidfun(inta[][N],intm) { inti,j; for(j=0;j for(i=0;i<=j;i++) a[i][j]=a[i][j]*m;/*右上半三角元素中的值乘以m*/ } main() { inta[N][N],m,i,j; FILE*out; printf("*****Thearray*****\n"); for(i=0;i {for(j=0;j {a[i][j]=rand()%20; printf("%4d",a[i][j]); } printf("\n"); } m=rand()%4; printf("m=%4d\n",m); fun(a,m); printf("THERESULT\n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机二级C语言程序设计题 100全中必过 全国计算机 二级 语言程序设计 100 全中必