实验4选择结构程序设计答案

合集下载

安徽建筑大学C实验内容答案

安徽建筑大学C实验内容答案

《程序设计基础—C程序实验》说明:实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。

电子实验报告:按照每次的实验内容完成一个文件,然后上传到文件服务器上张燕的文件夹里面。

纸制实验报告要求:1.准备一个能写八次实验内容的实验报告;2.实验报告书写格式:标号,题目,程序,输入,输出(注意输入输出的格式)。

3.独立完成实验,请勿抄袭!实验1 计算机基本操作实验目的⑴熟悉计算机,能够正确进行开、关机操作。

⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。

⑶理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。

⑷知道“回收站”的功能,学会有关文件、文件夹的基本操作。

⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。

实验内容⑴在桌面上新建一个文件夹,该文件夹以学生自己的学号和姓名命名,如:123342134张燕。

将此文件夹上传到ftp://10.10.9.222上张燕的文件夹中。

⑵在桌面上新建一个以1.doc命名的word文件。

⑶利用“控制面板”修改系统时间、桌面背景、鼠标属性,将具体的操作步骤写在1.doc文件中。

⑷打开一级模拟题,输入准考证号码(11111100105,最后两位可以是01到30的任意数),进入打字题,把打字题目做完,并将打字的内容复制到1.doc文件中,并保存。

最后点击交卷,将打字题的得分记录截屏后复制粘贴到1.doc文件中。

⑸在1.doc文件中输入以下内容,并保存。

注意:输入时,标点符号和字符要正确;汉字与汉字之间的相对位置要保持一致。

⑹将你正在使用的电脑的IP地址和DNS记录在1.doc中。

(7) 将下列转换结果写在1.doc中●(101101)2=()10=()8=()16●(123.125)10=()2==()8=()16● (37) 8=()16●(11001)2、(28)10、(32)8、(2A)16将这四个数按照从大到小排序:(8) 将1.doc文件上传到ftp://10.10.9.222上自己的文件夹中。

c语言上机实验题及参考答案

c语言上机实验题及参考答案
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}

济南大学c语言实验答案(DOC)

济南大学c语言实验答案(DOC)

实验2 顺序结构程序设计1. 编写程序,从键盘输入一个大写字母,将它转换为对应的小写字母后输出。

参考程序:#include "stdio.h"void main(){char ch;printf(“\nPlease input a capital character:”);scanf(“%c”,&ch);ch=ch+32;printf(“\nThe small letter is %c”,ch);}2.编写程序,输入圆半径r ,求圆周长、圆面积、圆球体积。

参考程序:#include <stdio.h>#include <math.h>#define PI 3.14void main(){float r,c,area,v;printf(“\nPlease input the r:”);scanf(“%f”,&r);c=2*PI*r;area=PI*r*r;v=4.0/3*PI*pow(r,3);printf(“\nThe circle’s perimeter is %.2f”,c);printf(“\nT he circle’s area is %.2f”,area;printf(“\nThe circle’s volume is %.2f”,v);}3. 输入一个华氏温度,要求输出摄氏温度。

公式为:()3295-=F c 输出要有文字说明,取2位小数。

参考程序:#include <stdio.h>void main(){float f,c;printf(“\nPlease input a F temperature:”);scanf(“%f ”,&f);c=5.0/9*(f-32);printf(“\nThe temperature is %.2f ”,c);}4. 有3个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r 。

实验4分支结构程序设计

实验4分支结构程序设计

实验4分支结构程序设计分支结构是程序设计中常用的一种控制结构,通过判断条件的真假来选择不同的执行路径。

在实验4中,我们将学习如何使用分支结构来设计程序。

一、分支结构的基本语法在分支结构中,根据条件的真假执行不同的代码,主要有以下几种语法结构:1. if语句: if语句是最基本的分支结构,用于根据条件执行不同的代码块。

语法如下:if (条件)//条件为真时执行的代码} else//条件为假时执行的代码其中,条件是一个表达式,如果表达式的值为真,则执行if语句块中的代码;否则执行else语句块中的代码。

2. if-else if-else语句:用于根据多个条件选择执行不同的代码。

语法如下:if (条件1)//条件1为真时执行的代码} else if (条件2)//条件1为假,条件2为真时执行的代码} else//条件1和条件2都为假时执行的代码在这种结构中,多个条件会按照顺序依次被检查,一旦一些条件为真,相应的代码块即被执行,后续的条件判断将被略过。

3. switch语句:用于根据不同的表达式值选择执行不同的代码块。

语法如下:switch (表达式)case 值1://表达式的值与值1相等时执行的代码break;case 值2://表达式的值与值2相等时执行的代码break;...default://表达式的值与之前的值都不相等时执行的代码break;在switch语句中,表达式的值将与每个case后的值进行比较,如果相等,相应的代码块将被执行,使用break语句可以使程序跳出switch 语句。

二、分支结构的应用在实验4中,我们可以结合具体问题来设计分支结构程序。

以下是一个示例:问题:根据学生的成绩判断其等级并输出。

解决方法:1.输入学生的成绩。

2. 使用if-else if-else语句判断成绩所属的等级,并输出。

具体实现如下:#include <iostream>int mai//输入学生的成绩int score;std::cout << "请输入学生的成绩:";std::cin >> score;//判断成绩所属等级并输出if (score >= 90)std::cout << "成绩等级为A" << std::endl;} else if (score >= 80)std::cout << "成绩等级为B" << std::endl;} else if (score >= 70)std::cout << "成绩等级为C" << std::endl;} else if (score >= 60)std::cout << "成绩等级为D" << std::endl;} elsestd::cout << "成绩等级为E" << std::endl;}return 0;在上述代码中,我们通过if-else if-else语句根据学生的成绩判断其等级,并输出相应的结果。

C语言程序设计第四次作业-选择结构(2)

C语言程序设计第四次作业-选择结构(2)

C语⾔程序设计第四次作业-选择结构(2)(⼀)改错题输出三⾓形的⾯积和周长,输⼊三⾓形的三条边a、b、c,如果能构成⼀个三⾓形,输出⾯积area和周长perimeter(保留2位⼩数);否则,输出“These sides do not correspond to a valid triangle”。

输⼊输出样例1: Enter 3 sides of the triangle: 5 5 3 area = 7.15; perimeter = 13.00输⼊输出样例2: Enter 3 sides of the triangle: 1 4 1 These sides do not correspond to a valid triangle源程序(有错误的程序)#include <stdio.h>#include <math.h>int main(void){double a,b,c;double area,perimeter,s;printf("Enter 3 sides of the triangle: ");scanf( "%lf%lf%lf",&a,&b,&c );if( a + b > c || b + c > a || a + c > b)s = ( a + b + c ) / 2;area = sqrt( s * ( s - a ) * ( s - b ) * ( s - c );perimeter = a + b + c;printf("area = %.2f; perimeter = %.2f\n",area,perimeter);elseprintf("These sides do not correspond to a valid triangle\n");return 0;}错误信息1:错误原因:少⼀个右括号。

915230-MATLAB第三版实验答案

915230-MATLAB第三版实验答案
s=0;n=0;
for i=2:49 b=i*(i+l)-l; m=fix(sqrt(b)); for j=2:m
if rem(b,j)==0 break
end
end
if j==m
n=n+l;
s=s+b;
end
end
实验6函数文件
%第1题
function y=matl (x)$建立函数文件matl・m
实验7绘图操作
%第1题
% (1)
x=linspace(0,2*pif101);
y=(0.5 + 3*sin (x)・/(1+x.A2))・*cos(x); plot(x,y)
%(2)
x=-5:0・01:5;
y=[];%起始设y为空向疑
for x0=x
if x0<=0$不能写成x0=<0
y=[y,(xO+sqrt(pi))/exp(2)]; else
for i=10:99
j = 10*rem(iz10)+fix (i/10);
if mat3(i)&mat3(j)
disp (i)
end
end
%第4题
function y=fx(x)
y=l・/ ( (x-2)・A2+0・l)+1./((x-3)・A4+0・01);
$在命令窗口调用该函数文件:
y=fx(2)
if t==f+!
z=x+y;
elseif t==,-1
z=x-y;
elseif t==1*'
z=x*y;
elseif t==、['
z=x/y;

C语言程序设计 上机实验指导与习题 参考答案

C语言程序设计 上机实验指导与习题 参考答案

C 语言程序设计上机实验指导与习题参考答案仅供教师内部参考华南农业大学目录上机实验1实验1 C 语言程序初步1一实验目的1二实验内容1实验2 基本数据类型运算和表达式3一实验目的3二实验内容3实验3 基本输入与输出5一实验目的5二实验内容5实验4 选择结构程序设计4一实验目的4二实验内容4实验5 循环结构程序设计一9一实验目的9二实验内容9实验6 循环结构程序设计二15一实验目的15二实验内容15实验7 数组17一实验目的17二实验内容17实验8 字符数组的应用22一实验目的22二实验内容22实验9 函数的基本应用24 一实验目的24二实验内容24实验10 指针与结构体26一实验目的26二实验内容26*实验11 链表29一实验目的29二实验内容29*实验12 文件32一实验目的32二实验内容32上机实验实验1 C 语言程序初步一实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2 了解在该系统上如何编辑编译连接和运行一个C 程序3 通过运行简单的C 程序初步了解C 程序的特点4 在教师的指导下学会使用JudgeOnline 实验系统二实验内容1 运行第一个C 程序[题目The first C Program]将下列程序输入TC 或VC编译连接和运行该程序void mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。

MATLAB程序设计与应用课后实验答案

MATLAB程序设计与应用课后实验答案
A+6.*B
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
[A,B]
[A([1,3],:);B^2]
运算结果:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
A+6.*B
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
0 0 0 0
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
由ans,所以
2. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?
解:M文件如下:
输出结果:
H =
P =
1 1 1 1 1
Columns 57 through 60
Column 61
z4 =
0 0
2. 已知:
求下列表达式的值:
(1) A+6*B和A-B+I(其中I为单位矩阵)
(2) A*B和A.*B
(3) A^3和A.^3
(4) A/B及B\A
(5) [A,B]和[A([1,3],:);B^2]
解:
M文件:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
实验四 循环结构程序设计
一、实验目的
1. 掌握利用for语句实现循环结构的方法。
2. 掌握利用while语句实现循环结构的方法。

实验四 选择结构程序设计2答案

实验四 选择结构程序设计2答案
[程序一]上机验证运行结果,分析结果
#include "stdio.h"
main()
{ int i;
scanf("%d",&i);
switch(i)
{ case 1:
case 2:putchar('i');
case 3:printf("%d\n",i);break;
#include<stdio.h>
main()
{ float x,y,m=0,n=0;
scanf("%f,%f",&x,&y);
n=(x-2)*(x-2);
m=(y-2)*(y-2);
if((m+n)<=1) printf("(%.3f,%.3f)In the yuan",x,y);
}
printf("\nThe tax=%10.2f\n",tax);
}
[程序三]输入两个字符,若这两个字符的ASCII之差为偶数,则输出它们的后继字符,否则输出它们的前驱字符。
#include<stdio.h>
main()
{ char ch1,ch2,t1,t2;
else printf("前驱字符ch1=%c,ch2=%c",ch1-1,ch2-1);
}
[程序四]输入整数a、b,如果a能被b整除,则输出算式和商,否则输出算式、整数商和余数。
#include<stdio.h>
main()
{ int x,y;
printf("Please input (x,y): ");

五C语言程序设计

五C语言程序设计

五《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。

2、掌握选择结构的程序设计。

3、掌握分支结构的嵌套。

二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。

自变量x与函数值均采用双精度类型。

(2)自变量x值从键盘输入,且输入前要有提示信息。

(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。

记录结果。

(5)源程序以sy4_1.c存盘。

2、编程,将一个百分制成绩转换成等级制成绩。

具体要求如下:(1)百分制与等级制的对应关系如下:(2)用switch语句实现该功能。

(3)用键盘输入百分制成绩,输入前要有提示信息。

(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。

(5)输出结果中应包含百分制成绩和成绩等级。

(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。

记录结果。

(7)源程序以sy4_2.c存盘。

三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。

2、掌握三种常用的循环语句的格式和功能。

3、初步掌握循环结构的编程方法。

二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。

要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。

2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。

青岛理工大学 C语言答案

青岛理工大学 C语言答案

c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 (3)1-1 填空题 (3)1-2 思考题 (3)1-3 编程题 (3)习题2 (4)2-1 单选题 (4)2-2 思考题 (4)习题3 (5)3-1 选择题 (5)3-2 填空题 (5)3-3 编程题 (5)习题4 (7)4-1单选题 (7)4-2填空题 (7)4-3 编程题 (7)习题5 (10)5-1单选题 (10)5-2填空题 (10)5-3 编程题 (10)习题6 (13)6-1单选题 (13)6-2填空题 (13)6-3 编程题 (13)习题7 (15)7-1单选题 (15)7-2填空题 (15)7-3 编程题 (15)习题8 (16)8-1单选题 (16)8-2填空题 (16)8-3 编程题 (16)习题9 (18)9-1单选题 (18)9-2填空题 (18)9-3 编程题 (18)习题10 (22)10-1单选题 (22)10-2填空题 (22)10-3 编程题 (22)习题11 (24)11-1单选题 (24)11-2填空题 (24)习题12 (25)12-1单选题 (25)12-2 填空题 (25)实验篇 (26)实验1 熟悉Visual C++6.0可视化集成开发环境 (26)实验2 顺序结构程序设计 (26)实验3 选择结构程序设计 (26)实验4 循环结构程序设计 (26)实验5 函数 (28)实验6 数组 (32)实验7 指针 (33)实验8 结构体和共用体 (35)实验9 文件 (36)实验10 综合编程 (36)模拟试卷(一)参考答案 (37)模拟试卷(二)参考答案 (38)习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

实验4答案 Matlab程序设计1

实验4答案 Matlab程序设计1

实验4 Matlab 程序设计1实验目的:1、 掌握建立和执行M 文件的方法;2、 掌握实现选择结构的方法;3、 掌握实现循环结构的方法。

实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。

加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。

a = input('请输入一个四位整数:');a1 = fix(a/1000);a2 = rem(fix(a/100),10);a3 = rem(rem(fix(a/10),100),10);a4 = rem(a,10);a1 = rem(a1+7,10)a2 = rem(a2+7,10)a3 = rem(a3+7,10)a4 = rem(a4+7,10)b1 = a1;a1 = a3;a3 = b1;b2 = a2;a2 = a4;a4 = b2;b = a1*1000+a2*100+a3*10+a42. 求分段函数的值。

,x x x x y x x x x x x x ⎧+- <≠-⎪=-+ ≤<≠≠⎨⎪-- ⎩2226035605231且且及其他用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。

x = input(请输入X 的值:');if x <0 & x~=-3y = x.*x +x-6;elseif x>=0 & x<5 & x~=2 & x~=3y = x.*x-5*x+6;elsey = x.*x-x-1;endy3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:(1)分别用if语句和swich语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

实验4 选择结构程序设计(1)

实验4 选择结构程序设计(1)

实验四选择结构程序设计(1)一、实验目的和要求1. 理解C语言的逻辑量2.掌握关系运算符和关系表达式的应用3. 掌握逻辑运算符和逻辑表达式的使用4.掌握if语句构成的选择结构5.掌握选择结构程序设计的方法二、实验环境(实验设备)硬件: 微型计算机软件: Microsoft Visual C++6.0三、实验过程新建一个文件夹,命名为:学号后两位+姓名(如05王魏)。

将以下运行正确的程序文件保存到该文件夹中(只保存.C文件),并上交文件夹到作业区自己班级的实验4文件夹中。

将实验题目3\4\5写在实验报告本上,参照作业区中的实验报告样板。

一定要写实验小结,可以写出实验中的收获和不懂的问题。

实验题目1:阅读程序,分析程序中各语句的作用及程序的执行结果,并上机运行验证结果。

问题:将if (a<b) {t=a;a=b;b=t;}中的花括号去掉后,程序的功能改变了吗?为什么?实验题目2:阅读并分析程序,记录程序的执行结果,并上机运行验证结果。

问题1:用一句话简述程序功能.问题2:模仿程序中的相关语句,请写出表示a为数字字符的表达式。

实验题目3:数学中有许多有趣的数,如水仙花数、完数等。

水仙花数是一个三位数,其各位数字的立方和恰等于这个数。

例如153,13+53+33=153。

编写程序,从键盘上输入一个三位的整数,判断其是否为水仙花数。

实验题目4:编写程序,判断从键盘上输入的一个整数是否为闰年年份,是则输出“yes”,否则输出“no” 。

实验题目5:日常生活中有许多问题可以用分段函数表示,例如邮局邮资付费等。

编写程序,求解以下数学分段函数。

实验题目6:编写程序,用假设思想(打擂台算法)求出三个数中的最大数。

提示:使用单分支if语句。

拓展题目1:现有三人,要求按年龄从大到小(也叫降序)排列。

程序代码如下,请将程序补充完整并上机调试。

#include <stdio.h>void main( ){ int a,b,c,t;printf(“请输入三个人的年龄:a b c:\n”);scanf("%d%d%d",&a,&b,&c);if (a<b) {t=a;a=b;b=t;}①;②;printf("%d,%d,%d ",a,b,c);}拓展题目2:应用if-else-if多分支选择语句编写程序,判断学生成绩等级。

实验4___MATLAB程序设计__4学时

实验4___MATLAB程序设计__4学时

程序2: 程序 : 首先建立函数文件f2c.m。 首先建立函数文件 。 function c=f2c(f) c=5*(f-32)/9 然后在MATLAB的命令窗口调用该函数文件。 的命令窗口调用该函数文件。 然后在 的命令窗口调用该函数文件 clt temperature:'); : x=f2c(y) 输出情况为: 输出情况为: Input Fahrenheit temperature:70 : c= 21.1111 x= 21.1111
4.2.3 循环结构 1.for语句 . 语句 for语句的格式为: 语句的格式为: 语句的格式为 for 循环变量 表达式 表达式 表达式 循环变量=表达式 表达式2:表达式 表达式1:表达式 表达式3 循环体语句 end 其中表达式1的值为循环变量的初值 表达式2的值 的值为循环变量的初值, 其中表达式 的值为循环变量的初值,表达式 的值 为步长,表达式3的值为循环变量的终值 步长为1时 的值为循环变量的终值。 为步长,表达式 的值为循环变量的终值。步长为 时, 表达式2可以省略 可以省略。 表达式2可以省略。
2.switch语句 . 语句 switch语句根据表达式的取值不同,分别执行不同 语句根据表达式的取值不同, 语句根据表达式的取值不同 的语句,其语句格式为: 的语句,其语句格式为: switch 表达式 case 表达式 表达式1 语句组1 语句组 case 表达式 表达式2 语句组2 语句组 …… case 表达式 表达式m 语句组m 语句组 otherwise 语句组n 语句组 end
例4-8 一个三位整数各位数字的立方和等于该数本身则 称该数为水仙花数。输出全部水仙花数。 称该数为水仙花数。输出全部水仙花数。 程序如下: 程序如下: for m=100:999 m1=fix(m/100); %求m的百位数字 求 的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 求 的十位数字 m3=rem(m,10); %求m的个位数字 求 的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 输出的水仙花数为: 输出的水仙花数为:153、370、371、407 、 、 、

c语言程序设计实验报告选择结构程序设计

c语言程序设计实验报告选择结构程序设计

《C语言程序设计》课程实验报告实验名称选择结构程序设计学号_ 姓名班别实验日期:年月日实验报告日期:年月日指导老师:实验地点:成绩:评语:≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡实验目的和要求目的:了解C语言逻辑量的表示方法;学会正确使用逻辑运算符和逻辑表达式;熟练掌握if语句(包括if语句的嵌套)和switch语句的使用方法;结合程序掌握一些简单的算法;进一步学习程序调试的方法。

实验环境硬件环境:分辨率至少在1024*768像素之上的显示器;P-III及其兼容处理器,或更高型号;处理器速度至少600MHz,推荐1GHz或更高;内存至少512MB,推荐1GB或更大;2G以上硬盘空间。

软件环境:安装windows操作系统和TC(或VC++)软件。

实验重点及难点重点:式关系、逻辑运算符及其表达式的语法形;if语句;switch语句。

难点:关系与逻辑运算符表达式的结果判定;if语句嵌套的层次判定;程序中使用break语句运行结果的判定。

实验过程一、相关知识1.相关知识1.C语言有两种选择语句:(1)if语句,用来实现两个分支的选择结构;(2)switch语句,用来实现多分支的选择结构。

2.if语句的一般形式:if(表达式)语句1【else语句2】3.根据if语句的一般形式,if语句可以写成不同的形式,最常用的三种如下:(1)if(表达式)语句1(没有else子聚部分)(2)if(表达式)(有else子句部分)语句1else语句2(3)if(表达式1)语句1 (在else部分又嵌套了多层的if语句)else if(表达式2)语句2 else if(表达式3)语句3 : :else if(表达式m)语句m else语句m +14.(1)整个if语句可以写在一行上,也可以写在多行上,但是为了程序的清晰,提倡写成锯齿形式。

(2)“语句1”、“语句2”……“语句m”等是if语句中的“内嵌语句”。

实验4选择结构程序设计

实验4选择结构程序设计

实验4 选择构造程序设计一、实验目的:1、熟悉C语言逻辑值“真〞、“假〞的表示;2、掌握关系运算符的种类、运算优先级、运算结果的类型,清楚一个关系表达式对应的相反式;3、掌握逻辑运算符的种类、运算优先级、结合性、操作数与运算结果的类型,能根据要求构建相应的逻辑表达式,理解逻辑运算中“短路〞现象;4、掌握if语句的用法,可以根据要求纯熟使用单分支、双分支、多分支(嵌套)构造;5、掌握switch语句的格式、功能及本卷须知;6、熟悉条件运算符和条件表达式的根本用法;7、初步学习随机函数rand()的使用。

二、实验内容1、(根底题)分析、运行以下程序,验证逻辑值、关系运算相关内容,并答复相关问题:#include<stdio.h>int main(){int x=15,y=5,z=50;printf("x=%d, y=%d, z=%d\n",x,y,z);printf("x>y? %d\n",x>y);printf("x<=y? %d\n",x<=y);printf("x+y<z? %d\n",x+y<z);printf("z-30>=x+y? %d\n",z-30>=x+y);printf("y==z-30>x? %d\n",y==z-30>x);return 0;}问题:(1)C语言逻辑值“真〞、“假〞如何表示?输入、输出时有什么不同?(2)关系运算符包含哪几个? 它们的优先级如何?(3)关系表达式的运算结果是什么?(4)哪些关系运算符互为相反式?它们的运算结果有什么关联?2、(根底题分析、运行以下程序,验证逻辑运算的相关内容,并答复相关问题:#include<stdio.h>int main(){int a=3, b=4, c=5;int x,y,z;printf("a=%d, b=%d, c=%d\n",a,b,c);printf("a+b>c&&b==c ? %d\n",a+b>c&&b==c);printf("!a||!c||b ? %d\n",!a||!c||b);printf("a||b+c&&b>c ? %d\n",a||b+c&&b>c);printf("a*b&&c+a ? %d\n\n",a*b&&c+a);printf("执行x=a<b||c++后,x=%d,a=%d,b=%d,c=%d\n",x=a<b||c++,a,b,c);printf("执行y=a>b&&c++后,y=%d,a=%d,b=%d,c=%d\n",y=a>b&&c++,a,b,c);printf("执行z=a||b++||c++后,z=%d,a=%d,b=%d,c=%d\n",z=a||b++||c++,a,b,c);return 0;}问题:(1)逻辑运算符包含哪几个? 它们的优先级如何?它的运算级别高于算术运算符、赋值运算符吗?(2)逻辑表达式的操作数、运算结果是什么?(3)什么是逻辑运算中“短路〞现象?这会带来什么影响?3、(根底题以下程序的功能是:输入学生四门课程的成绩,然后根据要求构建相应的逻辑表达式,之后计算这些表达式的值并输出。

c语言-选择结构程序设计实验报告4范文

c语言-选择结构程序设计实验报告4范文

实验报告实验题目:选择结构程序设计实验目的:(1)了解C语言表示逻辑量的方法(以0代表“假”以非0代表“真”)。

(2)学会正确使用逻辑运算算符和逻辑表达式。

(3)熟练掌握if语句的使用(包括if语句的嵌套)。

(4)熟练掌握多分支选择语句——switch语句。

(5)结合程序掌握一些简单的算法。

(6)进一步学习调试程序的方法。

实验内容:本实验要求事先编好解决下面问题的程序,然后上级输入程序并调试运行程序。

(1)有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113)101(12)1(x x x x x x y 输入x 的值,输出y 相应的值。

用scanf 函数输入x 的值,求y值(第四章第六题) 运行程序,输入x 的值(分别为x<1、101<≤x 、10≥x 这三种情况),检查输出y 值是否正确。

答:1)调试通过的程序清单如下:#include<stdio.h>void main(){ int x,y;printf("请输入X:");scanf("%d",&x);if(x<1)y=x;else if(x<10)y=2*x-1;程序设计基础实验报告――选择结构程序设计else y=3*x-11;printf("y=%d\n",y);}3)调试过程出现的问题说明及处理方法:编译提示信息如下:Compiling...c4_4.cF:\_选择结构程序设计\第四次实验\c4_4.c(10) : error C2059: syntax error : 'bad suffix on number'F:\_选择结构程序设计\第四次实验\c4_4.c(10) : error C2146: syntax error : missing ';' before identifier 'x'F:\_选择结构程序设计\第四次实验\c4_4.c(10) : warning C4552: '-' : operator has no effect; expected operator with side-effect F:\_选择结构程序设计\第四次实验\c4_4.c(11) : error C2181: illegal else without matching ifF:\_选择结构程序设计\第四次实验\c4_4.c(11) : error C2059: syntax error : 'bad suffix on number'作者:花开2011年11月2日F:\_选择结构程序设计\第四次实验\c4_4.c(11) : error C2146: syntax error : missing ';' before identifier 'x'F:\_选择结构程序设计\第四次实验\c4_4.c(11) : warning C4552: '-' : operator has no effect; expected operator with side-effect 执行cl.exe 时出错.c4_4.obj - 1 error(s), 0 warning(s)原因分析:由于习惯在数学上习惯于用2x表示2*x,导致在这里忽略了“*”,以致程序出现严重错误。

c语言实验四选择结构程序设计

c语言实验四选择结构程序设计

c语言实验四选择结构程序设计实验四:选择结构程序设计选择结构是C语言中的一种基本控制结构,用于根据条件的真假来选择执行不同的代码块。

本篇文章将介绍C语言中选择结构的概念、语法和常见的应用场景。

一、概述选择结构是一种基于条件判断的控制结构,根据条件的真假来选择执行不同的代码块。

C语言中的选择结构主要有if语句、if-else语句和switch语句。

二、if语句if语句是最简单的选择结构,它的语法格式如下:```cif (条件) {// 条件为真时执行的代码块}```其中,条件是一个表达式,如果条件为真,则执行if语句后面的代码块。

如果条件为假,则跳过if语句后面的代码块。

if语句还可以和else语句一起使用,形成if-else语句。

if-else语句的语法格式如下:```cif (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}```如果条件为真,则执行if语句后面的代码块;如果条件为假,则执行else语句后面的代码块。

三、switch语句switch语句用于根据表达式的值选择执行不同的代码块。

它的语法格式如下:```cswitch (表达式) {case 值1:// 表达式的值等于值1时执行的代码块break;case 值2:// 表达式的值等于值2时执行的代码块break;// ...default:// 表达式的值都不等于上述值时执行的代码块break;}```switch语句中的表达式的值会依次与每个case后面的值进行比较,如果相等,则执行对应的代码块。

如果所有的case都不匹配,则执行default后面的代码块。

四、应用场景选择结构在程序设计中有着广泛的应用场景,以下是一些常见的例子:1. 根据用户的输入选择不同的操作:比如在一个菜单程序中,根据用户输入的选项执行相应的操作。

2. 根据条件判断执行不同的计算:比如在一个学生成绩管理系统中,根据不同的分数段给出不同的评价。

实验4选择结构程序设计

实验4选择结构程序设计

实验4:选择结构程序设计实验名称:选择结构结构程序设计成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握关系运算符、逻辑运算符及其表达式的正确使用。

2、掌握if语句和switch语句的使用。

3、了解程序调试的基本方法。

二、实验环境安装了Visual C++ 6.0的计算机系统三、实验内容(或实验任务)在Visual C++ 6.0下完成程序题:1、从键盘输入一个整数,如果该数是奇数,则输出“您输入的是一个奇数!”;否则,输出“您输入的是一个偶数!”。

程序正确编写后,参照实验1内容2中介绍的单步调试的方法,对本程序进行单步调试,仔细观察程序的执行过程,理解二分支的程序结构。

提示:这是一个典型的二分支结构,用if…else语句实现。

2、新建设一个工程,名字为4_2,在工程中创建一个文件,名为myerror1.c。

在文件中输入以下内容,并进行编译,尝试解释编译后显示的结果信息,找到出错的原因,并记录在下面。

void main(){int x, flag;scanf("%d", &x );if(x>0)flag=1;printf("这是一个正数\n");elseflag=0;printf("这不是一个正数\n");}请记录出错信息与出错原因。

3、从键盘输入一个表示年份的数值(十进制数),判断其是否为闰年(闰年的条件是:能被4整除但不能被100整除,或者能被400整除)提示:(1)定义变量(2)从键盘输入年份(3)如果该年份是闰年输出“这是一个闰年”否则输出“这不是一个闰年”4、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

3x+5,x>0y= 0,x=02x-1,x<05、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

|x|,x<0y= x2,0≤x<10logx,x≥106、编写一个简易的计算器程序,在屏幕上输出如图4-1所示字符界面菜单,由用户从键盘输入“+”、“-”、“*”、“/”4种字符之一。

实验4:选择结构程序设计

实验4:选择结构程序设计

实验4:选择结构程序设计实验名称:选择结构结构程序设计成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握关系运算符、逻辑运算符及其表达式的正确使用。

2、掌握if语句和switch语句的使用。

3、了解程序调试的基本方法。

二、实验环境安装了Visual C++ 6.0的计算机系统三、实验内容(或实验任务)在Visual C++ 6.0下完成程序题:1、从键盘输入一个整数,如果该数是奇数,则输出“您输入的是一个奇数!”;否则,输出“您输入的是一个偶数!”。

程序正确编写后,参照实验1内容2中介绍的单步调试的方法,对本程序进行单步调试,仔细观察程序的执行过程,理解二分支的程序结构。

提示:这是一个典型的二分支结构,用if…else语句实现。

2、新建设一个工程,名字为4_2,在工程中创建一个文件,名为myerror1.c。

在文件中输入以下内容,并进行编译,尝试解释编译后显示的结果信息,找到出错的原因,并记录在下面。

void main(){int x, flag;scanf("%d", &x );if(x>0)flag=1;printf("这是一个正数\n");elseflag=0;printf("这不是一个正数\n");}请记录出错信息与出错原因。

3、从键盘输入一个表示年份的数值(十进制数),判断其是否为闰年(闰年的条件是:能被4整除但不能被100整除,或者能被400整除)提示:(1)定义变量(2)从键盘输入年份(3)如果该年份是闰年输出“这是一个闰年”否则输出“这不是一个闰年”4、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

3x+5,x>0y= 0,x=02x-1,x<05、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

|x|,x<0y= x2,0≤x<10logx,x≥106、编写一个简易的计算器程序,在屏幕上输出如图4-1所示字符界面菜单,由用户从键盘输入“+”、“-”、“*”、“/”4种字符之一。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4选择结构程序设计答案
一、实验目的
1.掌握关系运算符和关系表达式的使用方法。

2.掌握逻辑运算符和逻辑表达式的使用方法。

3.掌握if语句、witch语句、条件运算符(?:)的使用方法。

4.掌握选择结构程序的设计技巧。

二、实验内容
1.改错题
(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。

纠正程序中存在的错误,以实现其功能。

程序以文件名y4_1.c保存。

#includemain()
{charch,c1,c2;
printf(\ch=getchar();
if((ch>='a')||(ch<='z'))//if((ch>='a')&&(ch<='z'))ch-
=32;c1=ch-1;c2=ch+1;
if(ch='A')c1=ch+25;//if(ch=='A')
eleif(ch='Z')c2=ch-
25;//eleif(ch=='Z')putchar(c1);putchar(ch);putchar(c2);putchar('
\\n');}(2)下列程序的功能为:输入3个整数后,输出其中最大值。

纠正程序中存在的错误,以实现其功能。

程序以文件名y4_2.c保存。

#includemain(){
inta,b,c,ma某;
printf(\请输入3个整数:\\n\canf(\ma某=a;if(c>b)
{if(b>a)ma某=c;}if(c>a)ma某=c;ele
{if(c>a)ma某=b;}if(b>a)ma某=b;
printf(\3个数中最大者为:%d\\n\
}
(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。

例如,输入“3”,则输出“Mar”。

纠正程序中存在的错误,以实现其功能。

程序以文件名y4_3.c保存。

#includemain(){
charm;
printf(“inputthemonthnumber:\\n”);canf(\canf(\%d\,&m);witc h(m){
cae1:printf(“Jan”);break;cae2:printf(“Feb”);break;cae3:p rintf(“Mar”);break;cae4:printf(“Apr”);}}
2.程序填空题
(1)下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。

若该字符是数字,输出字符串\
若该字符是大写字母,输出字符串\若该字符是小写字母,输出字符串\
若该字符是其他字符,输出字符串\,@,\
补充完善程序,以实现其功能。

程序以文件名y4_4.c保存。

#includemain(){charc;
canf(_____\%c\_____);if(c>='0'&&c<='9')_printf(\
eleif(__c>='A'&&c<='Z'____)printf(\___eleif____(c>='a'&&c<=' z')
printf(\
___ele_______
printf(\,@,\\n\
}
(2)下列程序的功能为:实现加、减、乘、除四则运算。

补充完善程序,以实现其功能。

程序以文件名y4_5.c保存。

#includemain()
{inta,b,d;charch;
printf(\canf(\&a,&ch,&b);/某输入数学表达式某/witch(ch){
cae'+':d=a+b;printf(\break;
cae'-':d=a-b;printf(\break;
cae'某':d=a某b;printf(\break;cae'/':if(b==0)/某如果除数为0,则显示出错提示信息某/printf(\eleprintf(\(float)a/b);/某强制类型
转换某/break;default:printf(\}}
(3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序
判断其正确性。

补充完善程序,以实现其功能。

程序以文件名y4_6.c保存。

#include\main(){floata,b;
printf(\请主持人输入时尚手机的实际价格\\n\canf(\
printf(\请观众猜时尚手机的价格\\n\canf(\if(ab)printf(\高了
\\n\}
3.编程题
(1)从键盘输入三个整数,输出这三个整数的和、平均值(保留2
位小数)、积、最小值以及最大值。

程序以文件名y4_7.c保存。

#includemain(){
intum=0,a,b,c,ma某,min;
longji=0;floatave;
printf(\输入三个整数:
(a=b=c=)\\n\canf(\um=a+b+c;ave=um/3.0;ji=a某b某c;
ma某=((a>ba:b)>c)(a>ba:b):c;min=a;if(b
if(c
printf(\a某b某c=%ldave=%.2f\printf(\min=%d\\n\}
(2)有一分段函数如下,要求用canf函数输入某的值,求y值并在屏幕上输出。

程序以文件名y4_8.c保存。

0,某<5
y=某-1,5≤某<156某2-1,某≥15
#includemain(){
float某,y;
canf(“%f”,&某);if(某<5)y=0;
eleif(某<15)y=某-1;ele
y=6某某某某-1;printf(“y=%f”,y);}
(3)从键盘输入一个数字0~6,输出相应星期几的英文单词,其中数字0对应Sunday,数字1~6对应Monday~Saturday,如果输入的不是0~6的数字,则显示错误信息。

程序以文件名y4_9.c保存。

#includemain(){
inta;
printf(\:\canf(\witch(a)
{cae0:printf(\cae1:printf(\cae2:printf(\cae3:printf(\cae4:pr intf(\cae5:printf(\cae6:printf(\default:printf(\}}。

相关文档
最新文档