首页 > 全部 > 二级C语言 > 国家二级C语言机试(程序设计题)模拟试卷24

国家二级C语言机试(程序设计题)模拟试卷24

本单篇文档共17774字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 7038人下载
价格: 免费 原价:¥9.00
收藏

国家二级C语言机试(程序设计题)模拟试卷24

程序设计题

1.请编写函数fun,它的功能是:计算下列级数和,和值由函数值返回。

double fun(double x,int n)

{

int i;

double s=1.0,s1=1.0;

for(i=1;i<=n;i++)

{

s1=s1*i; /*各项中的阶乘*/

s=s+pow(x,i)/s1; /*按公式求出*/

}

return s;

}

解析:程序定义了变量s1和s,s1表示每项的分母(即各项的阶乘),s存放累加和。循环语句控制累加的次数,在循环体中进行阶乘和累加操作,累加的结果存入s中。此处使用了求乘方函数pow(x,i),其含义是求x的i次方的值。

2.请编写函数fun,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include <stdio.h>

void fun(int *a,int *n)

{

}

main()

{

int aa[1000],n,k;

void NONO();

fun(aa,&n);

for(k=0;k<n;k++)

if((k+1)%10==0)

printf(\\

void fun(int *a,int *n)

{

int i,j=0;

for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数,并放入数组a中*/

if((i%7==0丨丨i%11==0)&&i%77!=0)

a[j++]=i;

*n=j;

}

解析:本题考查:if语句,用来判断能被7整除或者能被ll整除,但是又不能同时被7和11整除的数,在这里要充分理解“逻辑与”和“逻辑或”的区别;for循环语句的循环变量用来控制取值范围。

本题需要运用循环判断结构来实现,其中循环语句比较容易,只要确定循环变量的范围即可。题目要求找出能被7或11整除,但不能同时被7和11整除的所有整数。能同时被7和11整除的整数一定能被77整除,且不能被77整除的数不一定就是能被7或11整除的数,所以可得出程序中的if()语句。注意(i%7==0丨丨i%11==0)两边必须要有小括号。

3.请编写函数fun,该函数的功能是:将s所指字符串中ASCII码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

例如,若s所指字符串中的内容为”ABCDEFG12345”,其中字符B的ASCII码值为偶数,字符2的ASCII码值为偶数,都应当删除,其他依此类推。最后t所指的数组中的内容应是”ACEG135”。

注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include <stdio.h>

#include <string.h>

#include <conio.h>

#include <stdlib.h>

void fun(char *s,char t[])

{

}

void main()

{

FILE *wf;

char s[100],t[100];

system(\\

void fun(char *s,char t[])

{

int i=0;

for(;*s!=’\0’;s++) /*找出ASCII值为奇数的字符依次存入数组t中*/

if(*s%2==1)

t[i++]=*s;

t[i]=’\0’; /*在字符串的末尾加上串结束符*/

}

解析:本题要求将s所指字符串中ASCII码值为偶数的字符删除,所以本题要求采用一个for循环来找出ASCII码值为奇数的字符依次存入数组t中,并使用if条件句来判断s所指字符串中ASCII码值是否为奇数。用’\0’加在字符串的末尾来表示字符串的结束。

要删除ASCII码值为偶数的字符,也就是要留下ASCII码值为奇数的字符。由于最终是要求出剩余字符(即ASCII码值为奇数)形成的新串,所以本题程序的算法是对原字符串从头到尾扫描,找出ASCII码值为奇数的字符并将其依次存入数组l中。此外,还要注意数组t的下标变化和下标的初值(初值必须为0,即i=0),t[i++]的作用是先使用t[i],然后再使i自增1。

4.请编写函数void fun(int x,int pp[],int*n),它的功能是:求出能整除x且不是偶数的所有整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

例如,若x中的值为30,则有4个数符合要求,它们是1、3、5、15。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

void fun(int x,int pp[],int *n)

{

}

void main()

{

FILE *wf;

int x,aa[1000],n,i;

system(\\

void fun(int x,int pp[],int *n)

{

int i,j=0;

for(i=1;i<=x;i=i+2) /*i的初始值为1,步长为2,确保i为奇数*/

if(x%i==0) /*将能整除x的数存入数组pp中*/

pp[j++]=i;

*n=j; /*返回满足条件的数的个数*/

}

解析:本题考查:偶数的判定方法;整除的实现。

本题题干信息是:能整除x且不是偶数的所有整数。循环语句中变量i从1开始且每次增2,所以i始终是奇数。

对于本题目要求的不是偶数的判定方法,即该数对2求余不为0。除以上方法外,还可以通过for循环语句直接把偶数筛出去,确保参与操作的数均为奇数。

5.请编写函数fun,其功能是:找出用1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数,然后把这些三位数按从小到大的顺序依次存入相应的数组xxx中,符合条件的个数由函数值返回。

注意:请勿改动主函数main和其他

本文档预览:3600字符,共17774字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(程序设计题)模拟试卷24

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号