第七章 函数(B)-【单招零距离】计算机专业综合(卷下)

2025-04-23
| 2份
| 9页
| 95人阅读
| 0人下载
江苏华阅万卷教育科技有限公司
进店逛逛

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-单元卷
知识点 函数
使用场景 中职复习
学年 2025-2026
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 944 KB
发布时间 2025-04-23
更新时间 2025-04-23
作者 江苏华阅万卷教育科技有限公司
品牌系列 -
审核时间 2025-04-23
下载链接 https://m.zxxk.com/soft/51747939.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

m=m/10; } if(q∗q==n)b[num++]=sum; } else  i++; } returnnum; } 第七章 函 数(B) 一、理论测试题  1.(1)符号 (2)调用 (3)实际 (4)print(s)  2.i=2 j=2 i=2 j=0 1  3  5  7  9  3.k=25,k=49,k=60  4.1 6 120 s=135  5.(1)rq[2]>md[rq[1]-1] (2)b[k--]=x%2+'0' (3)strcpy(b,"error") (4)split(a[i],b[i]) 二、技能考试题  1.(1)l<=h或x==a[m] (2)sizeof(a)/sizeof(int) (3)a[i]>a[j] (4)p=search(a,n,x)  2.(1)len=strlen(s); (2)c[k]=t%2+48;或c[k]=t%2+'0'; (3)if(flag)或if(flag==1)或if(flag! =0)或if (t>1)或if(t>=2)  3.intGenStr(chars[],inta[]) { inti,x,y,t,max,jz,p; for(i=0;i<strlen(s)-1;i++) { y=x=s[i]+s[i+1]; max=-1; while(x) { if(x%10>max) max=x%10; x/=10; } jz=max+1;p=1;t=0; while(y) { t=t+y%10∗p; y=y/10; p=p∗jz; } a[i]=t; } returni; } intishz(intm,intn) { intt; while(t=m%n) { m=n;n=t; } returnn==1; } intCalculate(inta[],intn,intb[][2]) { inti,j,k=0; for(i=0;i<n-1;i++)   for(j=i+1;j<n;j++) if(ishz(a[i],a[j])) { b[k][0]=a[i]; b[k][1]=a[j]; k++; }   returnk; } 第八章 文件一 一、理论测试题  1.98 76  2.IloveCHINA  3.(1)r (2)"d:\\file2.txt","w" (3)ch,fpw2 (4)fgetc(fpw1)  4.abcdef  5.(1)c:\\test2.txt","w" (2)a (3)i++ (4)fprintf(fp2,"%c ",s+'A'-10) 二、技能测试题  1.(1)16∗num+st[i]-'0' (2)"d:\\file1.txt","a+"  2.(1)FILE ∗fp1,∗fp2; (2)if((fp1=fopen("d:\\test1.txt","r"))== NULL) (3)if(test_st(str)) 􀅰5􀅰 总复习方案􀅰参考答案 第七章函数(B) 第七章函 数(B) 一、理论测试题(每小题12分,其中输出格式占2分,共60分) 1.阅读下列程序,回答下列问题。(每空3分,共12分) 题目:函数sort(inta[」,int left,int right)采用冒泡排序法对数组a中下标在[left,right]间的 元素进行升序排序。例如:当sort函数参数left,right的值分别为2,5时,程序运行结果是: 排序前:一69180一3712一4 排序后:-69一3071812一4 (1)#include <stdio.h (2)#define N8 (3)void sort(int a[],int left,int right) (4){int round,num,t; (5) for(round=left;round<right;round+) (6) for(num=left;num<right+left-round;num++) (7) if(a[num]>a[num+1]) (8) t=a[num];a[num]=a[num+1];a[num+1]=t;)) (9)void print(int a) (10){inti: (11) for(i=0;i<N;++i) (12) printf("%4d",ai]);printf(" ");} (13)int main() (14){ints[N]={-6,9,18,0,-3,7,12,-4},i: (15) printf("排序前:"); (16) print(s); (17) sort(s,2,5); (18) printf(" 排序后:"); (19) ④ ; (20) return 0;} 上述程序中,第(2)行中#define后面的N为①常量,第(17)行中sort(s,2,5) 为函数 ②,s为 ③参数,根据题目要求,第(19)行划线处应填 ④。 2.阅读下列程序,并把运行结果填写在答题卡相应位置。 #include <stdio.h int fun(int s[]) static int j=4; ·37· 单招零距离·计算机专业综合测试卷·下册 int i=0; do {s[j]+=s-1]: 一一j; )while(++i<2); printf("i=%d\t j=%d ",i,j); } int main() {intk,a[10]={1,2,3,4,5}; for(k=1;k<3;k++) fun(a); for(k=0;k<5;k++) printf("%d\t",ak]); } 3.阅读下列程序,写出运行结果。 #include <stdio.h #define N(x)x*x int a=11; int f(int c) static int a=5;int t=1; while(c-->a) t=t*c; return (a--)+t; } int main() int i,k=0; for(i=0;i<2;i++) int a=3; k+=f(a); k=k+N(a+4); printf("k=%d,",k); k+=a; printf("k=%d ",k); } ·38· 第七章函数(B) 4.阅读下列程序,写出程序运行结果。 #include "stdio.h" int jc(int x); int main() int i,s=0; for(i=1;i<=5;i+=2) s=s+jc(i); printf("s=%d",s); } int jc(int x) static int k=0;int i,p=1; for(i=1;i<=x;i++) p=p米i; printf("%d\t",p); k十=P; return k; } 5.二维数组a[5][3]中,前三列存放着日期的年、月、日三个数据,试判断各行的三个数据 能够构成一个合法的日期。若能构成合法日期,则将三个数据合并成一个8位数字串(形如"” 20210328"),存放在二维字符型数组中;若是非法日期,则在二维字符型数组中存入字符串" error'"。 #include <stdio.h #include <string.h int effect(int rq]) {int md[12]={31,28,31,30,31,30,31,31,30,31,30,31}; md1]=(rq[0]%4==0&&rq[0]%1001川rq[0]%400==0)?29:28; if(rq[1]<1||rg[1]>12) /月非法 return 0; if( (1) //日非法 return 0; return 1; void split(int rq[],char b[207) /拼合 int i,j,k=7,x; if(effect(rq)) ·39· 单招零距离·计算机专业综合测试卷·下册 {for(i=2;i>=0;i--) x=rg[i]; for(j=0;j<(i==0?4:2);j++) { (2) x/=10: } b[8]=\0; } else (3); } int main() {inta[5][3]={2020,1,24,2019,2,34,2018,14,20,2017,11,25,2019,2,29}; char b[5][20];int i; for(i=0;i<5;i++) (4) ; for(i=0;i<5;i++) printf("%d-%d-%d:%sn",a[i][0],a[i][1],a[i][2],b[i]); } 二、技能测试题(第1题20分,第2、3题各30分,共80分) 1.程序填空题:已知数组中存放了若干个数据,程序首先计算出数组中元素的个数,并 对数组中n个元素进行升序排序,再从键盘输入一个要查找的数x,在数组中查找这个数是否 存在,若存在则显示"查找成功!",否则显示"查找失败!”。请填空。 #include<stdio.h> int search(int al],int n,int x) {int1,h=0,m=n-1; while(K<=h) {m=(l+h)/2; if(x==a[m])break; else if(x>a[m])1=m+1; else if(x<a[m])h=m-1; } return (1) ·40· 第七章函数(B) int main() {inta[☐={26,89,85,42,64};inti,j,x,p,temp,n; /关¥关关¥米¥¥米米关SPACE¥¥¥并**米¥关米米/ n=(2); /*1一排序*/ for(i=n-1;i>0;i--) forj=i-1;j>=0;j--) /*¥米米关米关米米米¥SPACE兴兴米米米米***米米/ if((3)) (temp=a[i];a[i]=a[j];a[j]=temp; for(i=0;i<n;i++) printf("%d\t",ai]); printf(" "); /2一查找*/ printf("输入要查找的数:"); scanf("%d",&x); /米米关关关关米米¥关米SPACE¥米关米¥关米米兴关关/ (4); if(p) printf("查找成功!n"); else printf("查找失败! "); } 2.程序改错题:void add(char a[],char b[],char c[」)函数将由0','1组成的字符串a,b按 二进制数加法规则相加,和仍以0',1组成的字符串形式保存到字符串c中。 例如:字符串a为"1100”,字符串b为"111",调用add函数后字符串c为"10011"。 #include <stdio.h #include <string.h> void reverse(char s[]) int i,len;char t; /*关兴米关米米关关关关关关关关关FOUND米米关关关兴兴兴关*关关关关关关/ len=strlen(s-1); for(i=0;i<len/2;i++) t=s[i];s[i]=s[len-i-1];s[len-i-1]=t; ·41· 单招零距离·计算机专业综合测试卷·下册 } void add(char a[],char b[],char c[]) int i,j,k,t,flag; i=strlen(a)-1;j=strlen(b)-1; k=flag=0; while(i>=0j>=0) if(i<0)t=b[j]-48++flag; else if(j<0)t=a[i]-48+flag; else t=a[i]-48+b[j]-48+flag; c[k]=t/2: k+十; flag=0; if(t>1)flag=1; i--;j--; } if(flag==0) c[k++]=1; c[k]=\0; reverse(c); int main() {char a[50],b[50],c[51]; printf("Input a(binary): "); scanf("%s",a); printf("Input b(binary): "); scanf("%s",b); add(a,b,c); printf("After adding a+b=%s ,c); } 3.程序设计题:求字符串s中所有相邻两个字符的ASCIⅡ值之和,可将每个和值看作最 小进制表示的数,然后将该进制数转换为十进制数。最后,从这些十进制数中找出互质数对。 互质数对是指最大公约数为1的一对数。 例如:相邻两个字符为c和1',其ASCIⅡ值之和为148,可将该值看作的最小进制为9进 制数,将该9进制数148转换成十进制数为125,然后,保存到数组a中。 例如:字符串s为:"c1F2k"; ·42· 第七章函数(B) 数组a的值为:12511915111 互质的数对: 125119 125111 11915 119111 编写程序: l.编写函数int GenStr(char s[],inta[门),求字符串s中所有相邻两个字符的ASCII值 之和,将每个和值看作最小进制表示的数,然后将该进制数转换为十进制数保存到数组a中。 函数返回a中保存的数的个数。 2.编写函数int Calculate(inta[],intn,intb[][2]),从a数组的n个数中找出互质数对 保存到数组b中,并返回互质数对的个数。 #include<stdio.h #include<string.h #include<math.h> include<ctype.h #include<stdlib.h #define N 80 int GenStr(char s[],int a]) {/¥米米*米**米¥米Pr0gram米米米¥兴米¥米米米/ /关*0米关关关¥*关End关米*¥关关米米米*/ int Calculate(int a[],int n,int b[][2]) {/米米米米米**米米米Pr0gram米米米米*米米米米米/ /*关关米关米**关关End关***¥*米米**/ } int main() {char s[]="clF2k";inta[N]={0},b[N][2]={0}; ·43· 单招零距离·计算机专业综合测试卷·下册 int num=0,i=0,n; num=GenStr(s,a); printf("The string s is:%s ",s); for(i=0;i<num;i++) printf("%d ",ai]); printf(" "); n=Calculate(a,num,b); for(i=0;i<n;i++) printf("%3d %3d ",b[i]0],bi]1]); } ·44·

资源预览图

第七章 函数(B)-【单招零距离】计算机专业综合(卷下)
1
第七章 函数(B)-【单招零距离】计算机专业综合(卷下)
2
第七章 函数(B)-【单招零距离】计算机专业综合(卷下)
3
第七章 函数(B)-【单招零距离】计算机专业综合(卷下)
4
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。