收藏 分销(赏)

C语言程序设计基础实验报告册[1][1].doc

上传人:仙人****88 文档编号:6139098 上传时间:2024-11-28 格式:DOC 页数:189 大小:992KB 下载积分:10 金币
下载 相关 举报
C语言程序设计基础实验报告册[1][1].doc_第1页
第1页 / 共189页
C语言程序设计基础实验报告册[1][1].doc_第2页
第2页 / 共189页


点击查看更多>>
资源描述
C语言程序设计 实验报告手册 5. 调试示例 (10005)改正下列程序中的错误,在屏幕上显示短句“Welcome to You!”。(源程序error01_1.cpp) 【正确程序】 #include <stdio.h> int main(void) { printf("Welcome to You!\n"); return 0; 【实验结果与分析】 6. 改错题 (10007) 在屏幕上显示如下图案。 * * * * * * * * * * 【正确程序】 # include <stdio.h> int main(void) { printf("****\n***\n**\n*\n"); return 0; } 【实验结果与分析】 三. 讨论、心得 将源程序、运行结果和分析以及实验中遇到的问题和解决问题的方法,写在实验报告上。 学会如何截屏,输入编程时要认真仔细。 浙江大学城市学院实验报告 实验项目名称 实验2 用C语言编写简单程序 实验成绩 指导老师(签名) 日期 2.1 基本数据处理 一. 实验目的和要求 1.掌握算术表达式和赋值表达式的使用。 2.掌握基本输出函数的使用。 3.能够编程实现简单的数据处理。 4.掌握简单C程序的查错方法。 二. 实验内容、原理及实验结果与分析 说明:实验指导教师可根据教学内容指定题目。 1. 调试示例,参考实验手册。 2. 编程题1 (20012)求华氏温度150°F 对应的摄氏温度。计算公式如下:,其中:c表示摄氏温度,f表示华氏温度。 【源程序】 #include <stdio.h> int main(void) { int celsius, fahr; fahr = 150; celsius = 5* fahr/9-5*32/9; printf("fahr = %d, celsius = %d\n", fahr, celsius); return 0; } 【实验结果与分析】 ´ 如果使用公式 计算华氏温度150°F所对应的摄氏温度,这两个公式的计算结果是否一样?为什么? 不一样,存在误差。 3. 编程2 (20013)求摄氏温度26°C 对应的华氏温度。计算公式如下:,其中:c表示摄氏温度,f表示华氏温度。 【源程序】 #include <stdio.h> int main(void) { int celsius, fahr; celsius = 26; fahr = 9*celsius/5+32; printf("celsius = %d, fahr = %d\n", celsius, fahr); return 0; } 【实验结果与分析】 4. 编程题3 (20014)已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。 【源程序】 #include <stdio.h> int main(void) { int math, eng, comp, average; math = 87; eng = 72; comp = 93; average=(math+eng+comp)/3; printf("math = %d, eng = %d, comp = %d, average = %d\n", math, eng, comp, average); return 0; } 【实验结果与分析】 5. 编程题4 (20015)当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。 【源程序】 #include <stdio.h> int main(void) { int n, digit1, digit2, digit3; n=152; digit1=n%10; digit2=(n/10)%10; digit3=n/100; printf("整数%d的个位数字是%d, 十位数字是%d, 百位数字是%d\n", n, digit1, digit2, digit3); return 0; } 【实验结果与分析】 6. 改错题 (20016)改正下列程序中的错误,计算某个数x的平方y,并以“y=x*x”和“x*x=y”的形式输出x和y的值。请不要删除源程序中的任何注释。(源程序error02_2.cpp) 【正确程序】 #include <stdio.h> int main(void) { int x,y; x=3; y=x*x; printf("%d = %d * %d\n",y,x,x); printf("%d * %d = %d\n",x,x,y); return 0; } 【实验结果与分析】 三. 讨论、心得 将源程序、运行结果和分析以及实验中遇到的问题和解决问题的方法,写在实验报告上。 浙江大学城市学院实验报告 实验项目名称 实验2 用C语言编写简单程序 实验成绩 指导老师(签名) 日期 2.2计算分段函数 一. 实验目的和要求 1.使用if语句计算分段函数。 2.正确书写关系表达式。 3.掌握基本输入函数的使用,能正确调用C语言提供的数学库函数。 4.掌握简单的单步调试方法。 二. 实验内容、原理及实验结果与分析 说明:实验指导教师可根据教学内容指定题目。 1. 调试示例,参考实验手册。 2. 编程题1 (20022)输入华氏温度,输出对应的摄氏温度。计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。 输入输出示例:括号内为说明 输入 150 (fahr=150) 输出 celsius = 65 【源程序】 #include <stdio.h> int main(void) { int celsius, fahr; scanf("%d",&fahr); celsius=5.0*(fahr-32)/9; printf("celsius = %d\n", celsius); } 【实验结果与分析】 ´ 如果华氏温度和摄氏温度都是双精度浮点型数据,如何修改程序? 3. 编程2 (20023)输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 【源程序】 #include <stdio.h> #include <math.h> int main(void) { int money, year; double interest, rate; printf("Enter money:"); scanf("%d",&money); printf("Enter year:"); scanf("%d",&year); printf("Enter rate:"); scanf("%If",&rate); interest=money*pow((1+rate),year); printf("interest=%.2f\n",interest); return 0; } 【实验结果与分析】 4. 编程题3 (20024)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入 x,计算并输出下列分段函数 f(x) 的值(保留2位小数),请调用 sqrt 函数求平方根,调用 pow 函数求幂。 当x >= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 -0.5 0 输出 f(10.00) = 3.16 f(-0.50) = -2.75 f(0.00) = 0.00 【源程序】 #include <stdio.h> #include <math.h> int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &x); if(x>=0) y=sqrt(x); else y=pow((x+1),2)+2*x+1/x; printf("f(%.2f) = %.2f\n", x, y); } } 【实验结果与分析】 5. 改错题 计算分段函数的值(改错题error02_4) (20025)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入实数 x,计算并输出下列分段函数 f(x) 的值,输出时保留1位小数。 当 x 不等于10时,y = f(x) = x,当 x 等于10时,y = f(x) = 1/x。 输入输出示例:括号内是说明 输入 2 (repeat=2) 10 234 输出 f(10.0) = 0.1 f(234.0) = 234.0 【正确程序】 #include <stdio.h> int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &x); if(x!=10) y=x; else y=1/x; printf("f(%.1f) = %.1f\n", x, y); } } 【实验结果与分析】 6. 编程题4 计算两个整数的和、差、积、商与余数 (20026)输入2个整数 num1 和 num2,计算并输出它们的和、差、积、商与余数。 输出两个整数的余数可以用 printf("%d %% %d = %d\n", num1, num2, num1%num2); 输入输出示例:括号内是说明 输入 5 3 (num1=5,num2=3) 输出 5 + 3 = 8 5 - 3 = 2 5 * 3 = 15 5 / 3 = 1 5 % 3 = 2 【源程序】 #include <stdio.h> int main(void) { int num1, num2; scanf("%d%d", &num1,&num2); printf("%d + %d = %d\n", num1, num2, num1+num2); printf("%d - %d = %d\n", num1, num2, num1-num2); printf("%d * %d = %d\n", num1, num2, num1*num2); printf("%d / %d = %d\n", num1, num2, num1/num2); printf("%d %% %d = %d\n", num1, num2, num1%num2); return 0; } 【实验结果与分析】 ´ 如果num1和num2是双精度浮点型数据,如何修改程序?题目的要求都能达到吗? 三. 讨论、心得 将源程序、运行结果和分析以及实验中遇到的问题和解决问题的方法,写在实验报告上。 浙江大学城市学院实验报告 实验项目名称 实验2 用C语言编写简单程序 实验成绩 指导老师(签名) 日期 2.3指定次数的循环 一. 实验目的和要求 1.熟练掌握for语句的使用 2.熟练掌握指定次数的循环程序设计 3.掌握运行到光标的调试方法 二. 实验内容、原理及实验结果与分析 说明:实验指导教师可根据教学内容指定题目。 1. 调试示例,参考实验手册。 2. 编程题1求m+(m+1)+(m+2)+......+100。 (20032)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一个正整数m(0<=m<=100),计算表达式 m + (m+1) + (m+2) + ...... + 100的值。 输入输出示例:括号内为说明 输入 3 (repeat=3) 0 (计算0+1+2+...+100) 10 (计算10+11+12+...+100) 50 (计算50+51+52+...+100) 输出 sum = 5050 sum = 5005 sum = 3825 【源程序】 #include <stdio.h> int main(void) { int i, m, sum; int repeat, ri; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &m); sum=0; for(i=m;i<=100;i++) sum=sum+i; printf("sum = %d\n", sum); } } 【实验结果与分析】 ´ 输入2个正整数m和n (m≤n),求 【源程序】 【实验结果与分析】 3. 编程2 求1/m+1/(m+1)+1/(m+2)+......+1/n。 (20033)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入2个正整数 m 和 n(m<=n),计算表达式 1/m + 1/(m+1) + 1/(m+2) + ...... + 1/n的值,输出时保留3位小数。 输入输出示例:括号内为说明 输入 3 (repeat=3) 5 15 (计算1/5+1/6+1/7+...+1/15) 10 20 (计算1/10+1/11+1/12+...+1/20) 1 3 (计算1+1/2+1/3) 输出 sum = 1.235 sum = 0.769 sum = 1.833 【源程序】 #include <stdio.h> int main(void) {     int i, m, n;     int repeat, ri;     double sum;       scanf("%d", &repeat);     for(ri = 1; ri <= repeat; ri++){         scanf("%d%d", &m, &n);         sum=0;               for (i=m; i<=n; i++)                      sum=sum+1.0/i;         printf("sum = %.3f\n", sum);     } } 【实验结果与分析】 ´ 输入2个正整数m和n (m≤n),求 【源程序】 【实验结果与分析】 4. 编程题3 求1 + 1/3 + 1/5 + ......的前n项和。 (20034)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一个正整数 n,计算表达式 1 + 1/3 + 1/5 + ...... 的前 n 项之和,输出时保留6位小数。 输入输出示例:括号内为说明 输入 2 (repeat=2) 5 (计算1+1/3+1/5+1/7+1/9) 23 (计算1+1/3+1/5+...+1/45) 输出 sum = 1.787302 sum = 2.549541 【源程序】 #include <stdio.h> int main(void) {     int i, n;        int denominator;     int repeat, ri;     double sum;       scanf("%d", &repeat);     for(ri = 1; ri <= repeat; ri++){         scanf("%d", &n);         sum=0;               denominator=1;               for(i=1;i<=n;i++)               {                      sum=sum+1.0/denominator;                      denominator=denominator+2;               }         printf("sum = %.6f\n", sum);     } } 【实验结果与分析】 5. 编程题4求1-1/4+1/7-1/10+……的前n项之和。 (20035)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 读入一个正整数 n,计算1-1/4+1/7-1/10+……的前 n 项之和,输出时保留3位小数。 输入输出示例:括号内是说明 输入 2 (repeat=2) 3 10 输出 sum = 0.893 sum = 0.819 【源程序】 #include <stdio.h> int main(void) { int flag, i, n, t; int repeat, ri; double item, sum; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &n); sum=0; flag=1; t=1; for(i=1;i<=n;i++){ item=flag*1.0/t; sum=sum+item; flag=-flag; t=t+3; } printf("sum = %.3f\n", sum); } } 【实验结果与分析】 ´ 输入一个正整数n,计算 的前 n 项之和。 【源程序】 【实验结果与分析】 6. 改错题 输出华氏-摄氏温度转换表(改错题error02_6)。 (20036)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 读入2个整数 lower 和 upper,输出一张华氏—摄氏温度转换表,华氏温度的取值范围是[lower, upper],每次增加2F。 计算公式:c = 5 * (f - 32) / 9,其中:c表示摄氏温度,f表示华氏温度。 输出请使用语句 printf("%3.0f %6.1f\n", fahr, celsius); 输入输出示例:括号内是说明 输入 2 (repeat=2) 32 35 (lower=32,upper=35) 40 30 (lower=40,upper=30) 输出 fahr celsius 32 0.0 34 1.1 fahr celsius 【正确程序】 #include <stdio.h> int main(void) { int lower, upper; int repeat, ri; double celsius, fahr; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d%d", &lower, &upper); printf("fahr celsius\n"); for(fahr=lower;fahr<=upper; fahr++, fahr++) { celsius=5*(fahr-32)/9; printf("%3.0f%6.1f\n",fahr,celsius); } } } 【实验结果与分析】 7. 编程题5 m!+n!。 (20037)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入2 个正整数 m 和 n,计算 m!+n!。 输入输出示例:括号内是说明 输入: 2 (repeat=2) 1 4 (m=1,n=4) 3 8 (m=3,n=8) 输出: 1! + 4! = 25 3! + 8! = 40326 【源程序】 #include "stdio.h" int main(void) { int i, m, n; int repeat, ri; double fm, fn; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d%d", &m, &n); fm=fn=1; for(i=1;i<=m;i++) fm=fm*i; for(i=1;i<=n;i++) fn=fn*i; printf("%d! + %d! = %.0f\n", m, n, fm+fn); } } 【实验结果与分析】 8. 编程题6 求x的n次幂。 (20038)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 读入1 个实数x和正整数 n(n<=50),计算并输出 x 的 n 次幂(保留2位小数),不允许调用pow函数求幂。 输入输出示例:括号内是说明 输入 2 (repeat=2) 1.5 2 (x=1.5,n=2) 2 7 (x=2,n=7) 输出 2.25 128.00 【源程序】 #include <stdio.h> int main(void) { int i, n; int repeat, ri; double mypow, x; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf%d", &x, &n); mypow=1; for(i=1;i<=n;i++) mypow=mypow*x; printf("%.2f\n", mypow); } } 【实验结果与分析】 三. 讨论、心得 将源程序、运行结果和分析以及实验中遇到的问题和解决问题的方法,写在实验报告上。 浙江大学城市学院实验报告 实验项目名称 实验2 用C语言编写简单程序 实验成绩 指导老师(签名) 日期 2.4使用函数 一. 实验目的和要求 1.熟练掌握库函数的调用 2.了解函数的定义和调用 二. 实验内容、原理及实验结果与分析 说明:实验指导教师可根据教学内容指定题目。 1. 编程题1生成 3 的乘方表。 (20041)输入一个正整数n,生成一张3的乘方表,输出3^0 ~ 3^n的值,可调用幂函数计算3的乘方。 输出使用语句 printf("pow(3,%d) = %.0f\n", i, mypow); 输入输出示例:括号内是说明 输入 3 (n=3) 输出 pow(3,0) = 1 pow(3,1) = 3 pow(3,2) = 9 pow(3,3) = 27 【源程序】 【实验结果与分析】 2. 编程题2生成阶乘表 (20042)输入一个正整数n,生成一张阶乘表,输出 1! ~ n! 的值,要求定义和调用函数fact(n)计算 n!,函数类型为double。 输出使用语句 printf("%d! = %.0f\n", i, myfact); 输入输出示例:括号内是说明 输入 3 (n=3) 输出 1! = 1 2! = 2 3! = 6 【源程序】 【实验结果与分析】 3. 编程3 使用函数求 n! /(m!* (n-m)!) (20043)输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入2个正整数 m 和 n(m<=n),计算 n! /(m!* (n-m)!) 。 要求定义并调用函数fact(n)计算n的阶乘, 其中 n 的类型是 int,函数类型是 double。 例:括号内是说明 输入: 2 (repeat=2) 2 7 (m=2, n=7) 5 12 (m=5, n=12) 输出: result = 21 result = 792 【源程序】 【实验结果与分析】 4. 编程题4 计算的值。 (20044)计算 100^0.5+101^0.5+……+1000^0.5的值(保留2位小数),可调用sqrt函数计算平方根。 输入输出示例:括号内是说明 输出 sum = 20435.99 【源程序】 【实验结果与分析】 三. 讨论、心得 将源程序、运行结果和分析以及实验中遇到的问题和解决问题的方法,写在实验报告上。 浙江大学城市学院实验报告 实验项目名称 实验3 分支结构程序设计 实验成绩 指导老师(签名) 日期 一. 实验目的和要求 1.熟练掌握关系表达式和逻辑表达式的使用 2.熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计 3.熟练掌握switch语句中break语句的作用 4.掌握使用断点调试程序的方法 二. 实验内容、原理及实验结果与分析 说明:实验指导教师可根据教学内容指定题目。 1. 调试示例,参考实验手册。 2. 编程题1求分段函数的值。 (30002)输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个整数 x,计算并输出下列分段函数 sign(x) 的值。 -1 x < 0 y = sign(x) = 0 x = 0 1 x > 0 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 (x=10) 0 (x=0) -98 (x=-98) 输出 sign(10) = 1 (x = 10时 y = 1) sign(0) = 0 (x = 0时 y = 0) sign(-98) = -1 (x = -98时y = -1) 【源程序】 #include <stdio.h> int main(void) { int repeat, ri; int x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &x); if(x==0) y=0; else if(x>0) y=1; else y=-1; printf("sign(%d) = %d\n", x, y); } } 【实验结果与分析】 3. 编程题2 分类统计字符 (30003)输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入输出示例:括号内是说明 输入 Reold 123? 输出 letter = 5, blank = 1, digit = 3, other = 1 【源程序】 #include <stdio.h> int main(void) { char c; int blank, digit, i, letter, other; blank = digit = letter = other = 0; for(i = 1; i <= 10; i++){ c = getchar(); if(c==' ') blank ++; else if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) letter ++; else if(c>='0'&&c<='9') digit ++; else other ++; } printf("letter = %d, blank = %d, digit = %d, other = %d\n", letter, blank, digit, other); } 【实验结果与分析】 4. 编程题3 显示五级记分制成绩所对应的百分制成绩区间(使用switch) (30004)输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用switch语句。 五级制成绩对应的百分制成绩区间为:A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59),如果输入不正确的成绩,显示"Invalid input"。 输出使用以下语句: printf("90-100\n"); printf("80-89\n"); printf("70-79\n"); printf("60-69\n"); printf("0-59\n"); printf("Invalid input\n"); 输入输出示例:括号内是说明 输入 6ABCDEj (repeat=6,输入的五
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服