




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一部分【程序填空】第一套:题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。-注意:请勿改动主函数main()中的其他内容。-#include <stdio.h>#include <conio.h>void gcd(int a,int n,int b,int c) int i,x,y,z;/*SPACE*/ for(i=0;i<【?】;i+) x=ai; y=ai+1; while(z=x%y) x=y;y=z; bi=y;/*SPACE*/ ci=ai*ai+1/【?】; int mai
2、n() int a5=8,12,5,7,14; int b4,c4; int i; gcd(a,5,b,c); for(i=0;i<5;i+) printf("%dt",ai); printf("n"); for(i=0;i<4;i+) printf("%dt",bi); printf("n"); for(i=0;i<4;i+) printf("%dt",ci); printf("n"); getch(); return 0;第二套题目:函数reverse(
3、)对字符串str进行逆序。#include<stdio.h>#include<string.h>#include<conio.h>void reverse(char str) int len, j; char c;/*SPACE*/ len = 【?】(str);/*SPACE*/ for (j=len-1; 【?】; j-) c=strj; strj=strlen-1-j; strlen-1-j=c; int main() char a80; printf("Please enter a string: "); gets(a); rev
4、erse(a); printf("The inversed string is: "); puts(a); getch(); return 0;第三套题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留一个。例如对数组a处理后,它的前11个元素为-5,7,-4,25,0,2,4,16,8,5,20。#include <stdio.h>#include <conio.h>int main() int a20=-5,-5,7,-4,-4,25,25,0,0,0,2,4,16,16,8,5,5,5,5,20; int i,prev,next;
5、 prev=0; next=1; while(next<20)/*SPACE*/ if(aprev!=【?】) a+prev=anext; next+; /*SPACE*/ for(i=0;i【?】prev;i+) printf("%d ",ai); printf("n"); getch(); return 0;第四套题目:程序输出由03四个数字组成的符合下列条件的4位整数: 1. 每个4位整数中,03四个数字只能出现一次; 2. 百位数不能为3,十位数不能为2。#include <stdio.h>#include <conio.
6、h>int main() int g,s,b,q; int num=0; for(b=0;b<4;b+) if(b=3) continue; for(s=0;s<4;s+) if(b=s)|(s=2) continue;/*SPACE*/ for(q=【?】;q<4;q+) if(q=b)|(q=s) continue;/*SPACE*/ g=【?】-q-b-s; printf("%dn",q*1000+b*100+s*10+g); num+; printf("%dn",num); getch(); return 0;第五套题目:
7、在一维数组a中找出最大,最小元素,并将最大元素和数组最后一个元素交换,最小元素和数组首元素交换。#include <stdio.h>#include <conio.h>int main() int a10=15,8,12,6,10,1,4,5,9,-3; int i,t,max_index,min_index; max_index=min_index=0; for(i=1;i<10;i+) if(ai>amax_index) max_index=i; if(ai<amin_index) min_index=i; t=a0;a0=amin_index;a
8、min_index=t;/*SPACE*/ if(max_index=【?】) t=amin_index;amin_index=a9;a9=t; else/*SPACE*/ 【?】; for(i=0;i<10;i+) printf("%dt",ai); printf("n"); getch(); return 0;=第二部分【程序改错】第一套题目:主函数main()调用函数change()将二维数组strrow中的字符按列存入一维数组strcol中。下面给定的程序存在错误,请改正。#include <stdio.h>#include &
9、lt;conio.h>/*FOUND*/void change(char t5,char s) int i,j; for(j=0;j<5;j+) for(i=0;i<3;i+)/*FOUND*/ s3*j+i=tji;/*FOUND*/ sj=0;int main() char strrow5='C','r','r',' ','s',' ','o','a','T','t','P','g'
10、,'m','e','!' char strcol16; change(strrow,strcol); puts(strcol); getch(); return 0;第二套题目:在主函数中main()中输入年、月、日,然后计算该天是这一年的第几天。其中函数LeapYear()是判断某年是否为闰年。下面给定的程序存在错误,请改正。#include <stdio.h>#include <conio.h>int LeapYear(int year)/*FOUND*/ return (year%4=0 && yea
11、r%100) && (year%400=0);int main() int mon_days211=31,28,31,30,31,30,31,31,30,31,30,31,29,31,30,31,30,31,31,30,31,30; int year,mon,day,days; int i; scanf("%d %d %d",&year,&mon,&day); days=day;/*FOUND*/ for(i=0;i<mon-2;i+)/*FOUND*/ days=mon_daysLeapYear(year)i; printf(
12、"%dn",days); getch(); return 0;第三套题目:主函数main()调用函数MyStrcat()将字符串src连接到字符串dstStr后面。下面给定的程序存在错误,请改正。#include <stdio.h>#include <conio.h>void MyStrcat(char dstStr, char srcStr) int i,j; i=j=0;/*FOUND*/ while(dstStri+) i+; i-=1; while(srcStrj) dstStri=srcStrj; i+;j+; /*FOUND*/ srcS
13、tri=0;int main() char dst100="This is " char src20="C Test!"/*FOUND*/ MyStrcat(dst100,src20); puts(dst); getch(); return 0;第四套题目:程序去除主函数main()中字符串str中的非字母字符。函数IsAlpha()的功能是判断字符c是否为字母。#include <stdio.h>#include <conio.h>int IsAlpha(char c)/*FOUND*/ return (c>='a
14、' && c<='z') && (c>='A' && c<='Z');int main() char str="/* One World,One Dream! */" int prev,next; prev=next=0; while(strnext) if(IsAlpha(strnext)/*FOUND*/ strnext=strprev; prev+; next+; /*FOUND*/ strnext=0; puts(str); getch(); r
15、eturn 0;第五套题目:主函数main()统计字符串str中的各字母(不区分大小写)及其他字符出现的次数,并显示统计结果(次数为0,则不显示)。下面给定的程序存在错误,请改正。#include <stdio.h>#include <conio.h>#include <ctype.h>int main() char str="-JiangSu Teachers University of Technology-" int chnum27=0,i=-1;/*FOUND*/ while(stri) if(isalpha(stri)/*FOU
16、ND*/ chnumtoupper(stri)-97+; else chnum26+; for(i=0;i<27;i+)/*FOUND*/ if(chnumi=0) if(i=26) printf("other ch=%dn",chnum26); else printf("%c(%c)=%dn",i+65,i+97,chnumi); getch(); return 0;第三部分【程序设计题】第一套题目:假设英文大小写字母的权值分别为: A-E,a-e 1; F-J,f-j 2; K-O,k-o 3; P-T,p-t 4; U-Y,u-y 5; Z,
17、z 6 计算主函数main()中数组words中的各英文单词的权重(英文单词的权重为该单词各字母权值之和)。例如: 单词"World"的权重为16(W为5;o为3;r为4;l为3;d为1,5+3+4+3+1=16)。编写程序: 1. 编写函数void calculate(char w20,int n,int p),计算数组w中n个英文单词的权重,并将权重存放在数组p中。 2. 编写函数void sort(int p,int n,char w20),对数组p中n个单词的权重进行降序排序,权重所对应单词在数组w中的位置也要作相应调整。-注意:请勿改动主函数main()中的任何语
18、句。-*/#include <stdio.h>#include <ctype.h>#include <stdlib.h>#include <conio.h>#include <string.h>void calculate(char w20,int n,int p)/*Program*/* End */void sort(int p,int n,char w20)/*Program*/* End */int main() char words520="JiangSu","Teachers",&q
19、uot;University","of","Technology" int value5=0; int i; FILE *fp; if(fp=fopen("DATA.TXT","w")=NULL) printf("File open errorn"); exit(0); calculate(words,5,value); for(i=0;i<5;i+) fprintf(fp,"%-20s%4dn",wordsi,valuei); printf("%-
20、20s%4dn",wordsi,valuei); printf("n"); fprintf(fp,"n"); sort(value,5,words); for(i=0;i<5;i+) fprintf(fp,"%-20s%4dn",wordsi,valuei); printf("%-20s%4dn",wordsi,valuei); fclose(fp); getch(); return 0;第二套题目:主函数main()中str_b是这样的字符串:若干个长度不等的,连续的'0'、
21、9;1'字符组成的字符子串被长度不等的'.'字符间隔。将连续的'0'、'1'字符子串看成是二进制整数。要求将其转换为十进制整数。其中字符子串的首字符代表二进制数的符号位,'0'表示正数,'1'表示负数。例如:"0111"表示7,"1111"表示-7。编写程序: 1. 编写函数int convert(char b,int d),将字符数组b中连续二进制数字字符子串转换为十进制整数,并存入整型数组d中。函数返回十进制数的个数。 2. 编写函数void sort(int d
22、,int n),对数组d中n个元素进行升序排序。#include<stdio.h>#include<stdlib.h>#include<conio.h>int convert(char b,int d)/*Program*/* End */void sort(int d,int n)/*Program*/* End */int main() char str_b100=".111100.01111.01100111.0111.110000.011." int int_d10; int i,k; FILE *fp; if(fp=fopen(
23、"DATA.TXT","w")=NULL) printf("File open errorn"); exit(0); k=convert(str_b,int_d); for(i=0;i<k;i+) printf("%dt",int_di); fprintf(fp,"%dt",int_di); printf("n"); fprintf(fp,"n"); sort(int_d,k); for(i=0;i<k;i+) printf("%dt
24、",int_di); fprintf(fp,"%dt",int_di); printf("n"); fprintf(fp,"n"); fclose(fp); getch(); return 0;第三套题目:主函数main()的一维数组a中元素为非0整数。程序将负数存入数组b的左侧,正数存入数组b的右侧,并将数组b左侧的负数按升序,右侧的正数按降序重新排列。编写程序: 1. 编写函数int split(int a,int b,int len),将数组a中len个整数分别存放在数组b的左右两侧,其中负数存入数组b的左侧,正数存入
25、数组b的右侧。函数返回数组b中最后一个负数的下标。 2. 编写void sort(int a,int left,int right,int order)函数,对数组a中下标在left, right范围内的元素进行升序或降序排序。当order=1时,进行降序排序,当order=0时,进行升序排序。#include<stdio.h>#include<stdlib.h>#include<conio.h>int split(int a,int b,int len)/*Program*/* End */void sort(int a,int left,int righ
26、t,int order)/*Program*/* End */int main() int a10=7,-2,3,14,-5,-6,5,22,-4,8,b10; int i,mid; FILE *fp; if(fp=fopen("DATA.TXT","w")=NULL) printf("File open errorn"); exit(0); mid=split(a,b,10); for(i=0;i<10;i+) printf("%dt",bi); fprintf(fp,"%dt",bi)
27、; printf("n"); fprintf(fp,"n"); sort(b,0,mid,0); sort(b,mid+1,9,1); for(i=0;i<10;i+) printf("%dt",bi); fprintf(fp,"%dt",bi); printf("n"); fprintf(fp,"n"); fclose(fp); getch(); return 0;第四套题目:主函数main()中一维数组ring9存放数字1-9。将ring看成是一个首尾相接的环。将9
28、个数分成3段,第1段为1个2位数,第2段为1个3位数,第3段为1个4位数,程序计算这3段数之和。要求从环的第1个数开始,直到第9个数,依上述规则进行处理。同时在这些和中寻找77的整数倍的数。例如: 从环的第一个数开始的3段数为12,345,6789,其和为7146; 从环的第二个数开始的3段数为23,456,7891,其和为8370; . 从环的第九个数开始的3段数为91,234,5678,其和为6003;编写程序: 1. 编写函数void calculate(int ring,int st),从数组ring的第1个数开始,将9个数分成3段,第1段为1个2位数,第2段为1个3位数,第3段为1个
29、4位数,程序计算所有3段数之和。并将所有3段数之和存入数组st中。 2. 编写函数int check(int st,int t77),在数组st中寻找77的整数倍的数,存入数组t77中,函数返回其个数。#include<stdio.h>#include<stdlib.h>#include<conio.h>void calculate(int ring,int st)/*Program*/* End */int check(int st,int t77)/*Program*/* End */int main() int ring9=1,2,3,4,5,6,7,
30、8,9; int st9,t779,i,k; FILE *fp; if(fp=fopen("DATA.TXT","w")=NULL) printf("File open errorn"); exit(0); calculate(ring,st); for(i=0;i<9;i+) printf("%dt",sti); fprintf(fp,"%dt",sti); printf("n"); fprintf(fp,"n"); k=check(st,t77); for(i=0;i<k;i+) printf("%dt",t77i); fprintf(f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中核集团福清核电校园招聘笔试模拟试题及答案解析
- 2025吉林大学白求恩第一医院呼吸与危重症医学科录入员招聘1人笔试模拟试题及答案解析
- 学员申请表范表
- 被评为员工的感言
- 语文教材培训心得体会18篇
- 足球比赛观后感10篇
- 跑出一片天观后感集合15篇
- 几百几十加减几百几十综合考核习题大全附答案
- 超级领导力读后感(35篇)
- 货代销售培训
- 广东省通用安装工程综合定额(2018)Excel版
- 思想道德与法治2023版教学设计第二章 追求远大理想 坚定崇高信念
- 华南理工大学硕士论文格式模板
- 电子商务概论目录
- 装修返工合同
- 直流滤波电感设计
- 消力池砼施工工法
- 电力工程安全保证体系及措施
- 国家职业类别1-6类明细表
- 餐饮环节 日管控、周排查、月调度内容
- 【读写策略】回延安朗读指导
评论
0/150
提交评论