




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计上机实训报告-报告C语言程序设计上机实训报告教学周数 : 第1314周(2周) 地 点: 南门机房2楼 指导老师: 苏兴龙 李 莹 实训目的: 1、通过两周集中强化上机实训,使学生更加系统地理解和掌握C语言的基本概念、语言特点和编程技巧。 2、通过本次实训,使学生应用C语言在程序设计方面得到系统锻炼,为将来用C、VC进行软件开发打下良好基础。 实训环境: 硬件: 软件:Windows XP Turbo C V2.0 实训要求: 1、对所编写的源程序的要求: (1)每人独立完成6套题调试任务; (2)明确填空题与改错题的算法思路; (3)编源程序要有适当的注释,使程序容易阅读; (4)要求独立完成任务,不得抄袭。 2、实训报告内容的要求: (1)统一封面; (2)C语言编程题源程序代码; (3)实训总结。 实训内容(共6套): 第一套 上机训练试题 一填空题 1下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Ab, c D”,则输出“ab,cd”。 试题程序: #include #include #include char *fun (char tt ) int i; for(i=0;tt;i+) if(tt=A)&(tt= z ) /*tt的范围在26个英文字母的取值之间,因此该处填写z,又因为小写字母的ASCII值大于大写字母的ASCII值。*/ tt+=32; return(tt); main() char tt81; printf(“nPlease enter a string :”); gets(tt); printf(“nThe result string is:n%s”,fun( tt ); /*该处调用了被调用的fun函数,fun被调用的fun函数的函数名为tt*/ 2改错题 下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。 例如:a中的字符串为fshADfg, b中的字符串为sdAEdi,则c中的字符串应为fdAADf. 请改正程序中的错误,使它能得到正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序中的结构。 试题程序: #include #include void fun(char p,char q,char c) int i=0,j=0,k=0; while(p|qj) /*found*/ if(p=qj) ck=p else ck=qj; /*根据题目中要求比较两个字符串对应的的字符,把ASCII值小的存放到c数组中。 if(p) i+; if(qj) j+; /*found*/ k+; main() char a10=”fshADfg”,b10=”sdAEdi”,c80=0; fun(a, b,c); printf(“The string a:”); puts(a); printf(“The string b:”); puts(b); printf(“The result :”); puts(c); 3编程题 请编写函数fun,其功能是将两个两位数的正数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。例如,当a=16,b=35,调用该函数后,c=5361。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include long fun(int a,int b) long c; c=(b%10)*1000+(b/10)*100+(a%10)*10+(a/10); /*题目中要求把a、b中的数字存放到c中组成一个四位数,a的十位做c的个位,a的个位做c的十位,b的个位做c的千位,b的十位做c的百位。因此给b、a各求得的余数做c的千位和十位,而他们求得的商做c的百位和个位。*/ main() int a,b; long c; clrscr(); printf(“Input a, b:”); scanf(“%d, %d”,&a,&b); c=fun(a,b ); printf(“The result is:%ldn”,c); 第二套 上机训练试题 1 填空题 下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 试题程序: #include #define SIZE 20 fun(double s ,double w ) int k, i; double sum; for(k=2,i=0; iSIZE; i+) s=k;k+=2; sum=0.0; for(k=0,i=0;iSIZE;i+) sum+=s; if(i+1) % 5=0) wk=sum/5;sum=0;k+; return k; /*根据条件求五个数的平均值,存放到w数组中,否则,返回k继续求。*/ main() double aSIZE,bSIZE/5; int i,k; k=fun(a,b); printf(“The original data:n”); for(i=0;iSIZE;i+) if(i%5=0) printf(“n”); printf(“%4.0f”,a); printf(“nnThe result:n”); for(i=0;ik;i+) printf(“%6.0f”, b ); printf(“nn”); 2改错题 下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。 Y= 例如:m中的值为5,则应输出0.838611。 请改正程序中的错误,使它能得到正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include double fun(int m) /*被调用函数是一个表达式而并非一条语句*/ double y=1.0; /*found*/ int j=1; int i; for(i=2;im;i+) j=-1*j; /*found*/ y+=1.0* j/(i*i); return (y); main() int n=5; clrscr(); printf(“nThe result is %lfn”,fun(n); 3编程题 请编写一个函数void fun(int ttN,int ppN),tt指向一个M行N列的二维数组,求出数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号内填入所编写的若干语句。 试题程序: #include #include #define M 3 #define N 4 void fun(int ttN,int ppN) int i,j,max; for(j=0;jN;j+) max=tt0j; for(i=0;imax) max=ttj; ppN=max; /*定义被调用函数的初值及条件ttj值如果大于max则,把max给予tt,最后把max值赋予PN的数组。*/ main() int tN=68,32,54,12,14,24,88,58, 42,22,44,56; int pN,i,j,k; clrscr(); printf(“The riginal data is:n”); for(i=0;iM;i+) for (j=0;jN;j+) printf(“%6d”,tj); printf(“n”); fun(t,p); printf(“nThe result is:n”); for(k=0;kN;k+) printf(“%4d”,pk); printf(“n”); 第三套 上机训练试题 1填空题 下列给定程序中,函数fun()的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转化为A,z转化为a),其他字符不变。 试题程序: #include #include #include void fun(char s) int i=0; while( s ) /*当数组s满足此条件是执行下面的if语句。*/ if(s=A&s=a&s=z) if(s=Z) s=A; else if(s=z) s=a; else s+= 1 ; i+; else break ; /*当条件不满足时跳出循环。*/ main() char s80; printf(“n Enter a string with length80:nn”); gets(s); printf(“n The string:nn”); puts(s); fun(s); printf(“nn The Cords :nn”); puts(s); 2改错题 下列给定程序中,函数fun的功能是按以下递归公式求函数值。Fun(n)= 例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。 请改正程序中的错误,使它能得到正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include /*found*/ fun(int n) int c; /*found*/ if(n= =1) c=15; else c=fun(n-1)*2; return(c); main() int n; printf(“Enter n:”); scanf(“%d”,&n); printf(“The result :%dnn”,fun(n); 3编程题 请编写函数fun(),对长度为7个字符的字符串, 除首、尾字符外,将其余5个字符按ASCII值码升序排列。例如:原来的字符串为BdsihAd,则排序后输出为BAdhisd。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include int fun(char s,int num) char t; int i,j; for(i=1;inum-2;i+) for(j=i+1;jj) t=s; s=sj; sj=t; /*定义被调用函数的条件对字符串除首尾外,其余按ASCII值的大小排出。*/ main() char s10; clrscr(); printf(“输入7个字符的字符串:”); gets(s); fun(s,7); printf(“n%s”,s); 第四套 上机训练试题 1填空题 下列给定程序中函数fun()的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为87653142时,t中的数为7531。 试题程序: #include #include long fun(long s) int d,t; long s1=1; t=0; while(s0) d=s % 10; /*求出该长整型数中的各个数*/ if(d%2!=0) t=d*s1+t; s1*= 10 ; s/= 10 ; return t; main() long s,t; clrscr(); printf(“nPlease enter s: “); scanf(“%ld”,&s); t=fun(s); printf(“The result is:%ldn”,t); 2改错题 下列给定程序中函数fun()的功能是计算 1n!的值。 例如:给n输入5,则输出0.008333。 请改正程序中的错误,使它能得到正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include /*found*/ double fun(int n) double result =1.000000; if(n=1) return 1.000000; /*因为其结果是实型的数,因此小数点后保留6位小数*/ while(n1&n170) /*found*/ result *=n-; result=1/result; return result; main() int n; printf(“Input n:”); scanf(“%d”,&n); printf(“n%d!=%lfn”,n,fun(n); 3编程题 编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。 例如:n为1000时,函数值应为s=96.979379。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include double fun(int n ) int i,sum=0; double s; for(i=1;in;i+) while(i%5=0&i%11=0) sum+=i; s=sqrt(sum); break i; /*定义被调用函数的条件及初值*/ main() clrscr(); printf(“s=%fn”,fun(1000); 第五套 上机训练试题 1填空题 下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输入: I am a student to take the examination 则应输出:I aM A studenT tO takE thE examinatioN 试题程序: #include #include #include #include void fun(char p) int i,k=0; for (i=0; p!=0 ;i+) if(k) if(p= = ) k=0 ; pi-1 =toupper(pi-1); /*toupperpi-1值赋给pi-1*/ else k=1; main() char chrstr64; int d; printf(“n please enter an English sentence within 63 letters:”); gets(chrstr); d=strlen(chrstr); chrstrd= ; chrstrd+1=0; printf(“n Bofore changing:n %s”,chrstr); fun(chrstr)- ; /*被调用函数*/ printf(“n After changing:n %s”,chrstr); 2改错题 下列给定程序中函数fun()的功能是计算正整数num的各位上的数字平方和。 例如:输入352,则输出38;若输入328,则输出应该是77。 请改正程序中的错误,使它能得到正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include long fun(long num) /*found*/ long k=1; do k+=(num%10)*(num%10); num/=10; /*found*/ while(num); return(k-1); /*条件不满足时返回*/ main() long n; clrscr (); printf(“please enter a number :”); scanf(“%ld”,&n); printf(“n%ldn”,fun(n); 3编程题 请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为F(n)= 例如:t=1000时,函数值为987。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include int fun(int t) int a=1,b=1,c=0,I; doc=a+b; a=b; b=c; while(ct); c=a; return c; /*该被调用函数的需要的条件用来满足主函数。*/ main() int n; clrscr(); n=1000; printf(“n=%d,f=%dn”,n,fun(n); 第六套 上机训练试题 1填空题 下列给定程序中,函数fun()的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。 试题程序: # include # include # include # define N 80 int fun(char s,char t) int n; int i, j, k; n=0; i=0; while(s!=0) k=i; j=0; while(tj!=0) if(sk= =tj) j+; i+ ; else break; if(tj= = si+1 ) n+; s+ ; /*s字符串中含有t所指字符串的数目条件不满足是s,i自加。*/ return n; main() char aN,bN;int m; printf(“nPlease enter string a :”);gets(a); printf(“nPlease enter substring b :”);gets(b); m=fun(a,b); printf(“nThe result is :m=%dn”,m); 2改错题 下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第1个字符放在第0位中)。 例如:字符串中的数据为ADFESHDI,则输出应当是AFES
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舞蹈理论试题及答案选择
- 黑龙江省哈尔滨市第九中学2024-2025学年高三下学期第五次模拟考试英语学科试题(原卷版)
- 广东省东莞市光正实验学校2024-2025学年高一下学期期中考试英语试卷(原卷版)
- 2025年贵州省贵阳市云岩区中考二模语文试题(含答案)
- 湖北省恩施土家族苗族自治州巴东县绿葱坡镇民族初级中学2024-2025学年七年级下学期6月生物测试题(含答案)
- 2025养老护理服务合同示例
- 2025国内贷款合同范本模板
- 2025房屋租赁合同范本全面版
- Tos-PEG6-acid-生命科学试剂-MCE
- 哈师大、大庆铁人2024-2025学年高二下学期期末联考+生物试卷(含答案)
- 组织工作实务-形考任务三-国开-参考资料
- 《短视频拍摄与制作》课件-4.短视频后期制作- 剪辑技巧
- 事业单位工作人员调动申报表
- (高清版)DZT 0280-2015 可控源音频大地电磁法技术规程
- 一个完整详细的箱涵清淤施工方案
- 老年医学专业知识培训课件
- DB44-T 2457-2024 地质灾害自动化监测规范
- 《水安将军》知识考试题库(800题版)
- 软件项目详细设计报告
- 提高医嘱执行准确率品管圈课件
- 《中国血压测量指南》规范化测量血压
评论
0/150
提交评论