c语言实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实验报告答案”。
南昌大学实验报告
学生姓名: 学 号: 专业班级:
√ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验类型:□ 验证 □一.实验名称
实验3 控制语句
二.实验目的1.熟练掌握if、if…else、if……elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2.熟练掌握while语句、do……while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
三.实验内容
1. 选择结构程序设计; 2. if语句的使用;
3. 使用switch语句实现多分支选择结构; 4. 三种循环语句的应用; 5. 循环结构的嵌套;
6. break和continue语句的使用。
三.实验环境
PC微机
DOS操作系统或 Windows 操作系统 Visual c++程序集成环境
四.实验内容和步骤
本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。学会单步调试和断点调试程序及变量跟踪方法。
1. 任意输入4个整数,要求按由小到大的顺序输出。
2.编程实现:输入一个整数,将其数值按照①小于10,②10~99,③100~999,④1000以上四个类别分类并显示。
要求:(1)将变量定义为整型。
(2)输入整数前,利用puts()/printf()给出提示信息。
(3)输出结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。(4)该程序利用if语句实现。
运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。
3.编写程序:根据公式
261111......,输出 π的值。
122232n2要求:
(1)变量π为单精度类型,n为整型;
(2)计算当n的取值分别为20,50,100,200时的π值,说明什么问题?
(3)修改程序,不给出n值,而改为求π值,直到最后一项的数值小于10-4 为止。
(4)对修改后的程序,输出π值以及总的项数n。输出格式为:π=值;n=值。
4.从键盘输入一个0~1000之间的任意整数,输出该整数的所有因子(例如:输入12,其因子为1,2,3,4,6,12)。
要求:
(1)采用while循环语句实现。
(2)输出格式为:Input:12 Output:1,2,3,4,6,12 5.从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。学生的成绩可分成5个等级,90-100分为A级,80-89分为B级,70-79分为C级,60-69分为D级,0-59分为E级。要求在输入负数时,给出错误提示。
① 事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。
② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束 6.某航空公司规定:在旅游旺季7~9月份,如果订票20张及其以上,优惠票价的10%,20张以下,优惠5%;在旅游淡季1~6月份,10~12月份,订票20张及其以上,优惠票价的20%,20张以下,优惠10%。编写一个C程序,根据月份和旅客订票张数决定优惠率。已知机票单价,请算出旅客的总付款。请使用不同的测试数据进行测试。7.计算并输出1000以内最大的10个素数以及它们的和。
要求:
(1)在程序内部加必要的注释。
(2)由于偶数不是素数,可以不考虑对偶数的处理。
(3)虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
(4)输出形式为:素数1+素数2+素数+…+素数10 = 总和值。
五.实验数据及处理结果
/*写出实验内容的算法(用流程图表示)、完整的程序、结果并能对结果的正确性及上机时产生的问题进行分析,注意程序变量命名应见名知意、有适当的注释,程序书写规范*/ 【习题1】
【设计思路】 :输入a,b,c,d四个数,将四个数两两进行比较,如果前者大于后者,则将两数的值交换,否则不变。这样重复操作6次,最后输出a,b,c,d的值,则a,b,c,d从大到小排列。
【数据输入】输入整型变量 a,b,c,d 【数据输出】输出 a,b,c,d的值,使其从大到小排列。【源程序实现】
#include main(){
int a,b,c,d,t;printf(“please input four numbers(example:1 2 3 4):n”);scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a>b){t=a;a=b;b=t;}/* 实现a,b的交换 */ if(a>c){t=a;a=c;c=t;}/* 实现a,c的交换 */ if(a>d)
} {t=a;a=d;d=t;}/* 实现a,d的交换 */ if(b>c){t=b;b=c;c=t;}/* 实现b,c的交换 */ if(b>d){t=b;b=d;d=t;}/* 实现b,d的交换 */ if(c>d){t=c;c=d;d=t;}/* 实现c,d的交换 */ printf(“%d,%d,%d,%d”,a,b,c,d);【结果及截图】
答:输入64 3 5 23,运行结果为3,5,23,64,其截图如下:
输入格式的提示。
【修改后程序实现及结果】 /*习题2、4请添加此步*/
【问题分析】 输入数据时,没有按正确格式输入,所以在输入数据之前,应该给出一个【习题2】
【设计思路】
【数据输入】 输入整型变量x。【数据输出】 输出x的范围。【源程序实现】
#include
main()
{
int x;
printf(“Please input a number:n”);
scanf(“%d”,&x);
printf(“%d is ”,x);
if(x
else if(x
else if(x
else printf(“more than 1000n”);
return 0;
}
【结果及截图】
答:运行程序,分别输入9,21,321,4321,截图如下:
【习题3】
【源程序实现】
#include
#include
main()
{
int n,N;
float pi,sum=0;
printf(“Please input a number:nN=”);
scanf(“%d”,&N);
for(n=1;n
sum+=1.0/(n*n);
pi=sqrt(6*sum);
printf(“pi=%f”,pi);
return 0;} 修改后的程序: #include #include main(){
int n=0;
float pi,sum=0;
do
{
n++;
sum+=1.0/(n*n);
}while(1.0/(n*n)>=1e-4);
pi=sqrt(6*sum);
printf(“pi=%f;n=%d”,pi,n);
return 0;}
【结果i及截图】
答:计算当N的取值分别为20,50,100,200时,截图如下:
【结果ii及截图】
【习题4】
【源程序实现】
#include main(){ int num,i=2;printf(“Input:”);scanf(“%d”,&num);printf(“Output: 1”);/*第一个因式为 1*/ while(i
【结果及截图】
答:输入30,得其因式为 1,2,3,5,6,10,15,30,截图如下:
【习题5】
【源程序实现】
If 语句
#include main(){
int num;
printf(“Input:”);
scanf(“%d”,&num);
if(num100)printf(“The number is wrong!”);
else if(num
else if(num
else if(num
else if(num
else printf(“A”);
return 0;}
Switch 语句
#include main(){
int num,n;
printf(“Input:”);
scanf(“%d”,&num);
n=num/10;
switch(n)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5: printf(“E”);break;
case 6: printf(“D”);break;
case 7: printf(“C”);break;
case 8: printf(“B”);break;
case 9:
case 10: printf(“A”);break;
default: printf(“error!”);
}
return 0;}
【问题分析】
【习题6】
【源程序实现】
#include main(){ int month,num;float price,cost;printf(“month=”);scanf(“%d”,&month);printf(“nprice=”);scanf(“%f”,&price);printf(“nnum=”);scanf(“%d”,&num);if(month>=7&&month=20)cost=price*0.9*num;else cost=price*0.95*num;} if((month>=1&&month=11&&month=20)cost=price*0.8*num;else cost=price*0.9*num;} printf(“cost=%f”,cost);}
【习题7】
【源程序实现】
#include #include void main(){ int num,i,sum=0,count=0;for(num=999;count!=10;num-=2){for(i=2;i=sqrt(num)){count++;sum+=num;printf(“%d+”,num);} } printf(“b=%d”,sum);} 【结果及截图】
六.简答题
七、实验总结及体会
实验报告Ⅰ指导教师曾宪华实验时间: 2010 年10月日 学院通信与信息工程专业通信类班级0101105学号2011210150姓名陈环宇 实验室s313实验目的及要求:(1)掌握选择结构程序设计,学会......
实验报告一(注意:红字不用抄写,其它必须抄写。实验纸不够用写反面。)一、实验内容if语句、ifelse语句、ifelse if语句的练习二、重点难点分析题目,正确应用相应的选择语句三、实......
《C语言程序设计》实验报告实验名称 ____ C程序的运行环境和运行C程序的方法_学期日期同组人李江涛指导老师_杨雪松___________成绩___________ -------------------------......
郑州轻工业学院 实 践 报 告实现内容:OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件)学号:541507020140 学生姓名:王红旭专业班级:电子信息科......
C语言程序设计实验 --------指针应用实验========================山东农业大学实验报告课程名称: c语言程序设计实验 学院: 水利土木工程学院 专业: 道路桥梁与渡河工程 班......