上机实验 11 参考答案
c程序设计实验参考答案
main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;
上机实验报告(精选11篇)
上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。
b交互性:有输入提示。
c结构化程序设计风格:分层缩进、隔行书写。
3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。
请注意:过时不候哟!四、实验报告内容0.顺序表的插入。
1.顺序表的删除。
2.带头结点的单链表的\'插入。
3.带头结点的单链表的删除。
注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。
例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。
2.实验报告中的源代码应是通过编译链接即可运行的。
3.提交到个人空间中的内容应是上机实验中的全部内容。
上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。
3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。
b 交互性:有输入提示。
化学上机正交实验答案
实验一1解答01 实验计划表01 直观分析表结论:极差越大,影响越大。
影响因素大小顺序是:时间>压力>温度>配比 平均值越大,条件越优,最优条件为:470℃,,30kg,3%配比,3h 2解答:表1.202 实验计划表02 直观分析表02 交互作用表02 交互作用表结论:极差越大,影响因素越大。
影响因素大小顺序是:硬化剂相对密度>脱蜡条件>晾干时间=硬化时间>硬化剂温度;A和B的相互作用大于B和C的相互作用;平均值越大,条件越优,最优条件是:硬化剂相对密度为1.48,硬化时间为2min;硬化剂温度13℃或25℃;硬化时间为15h;脱蜡条件为Hcl3解答:表1.4表1.503 实验计划表03 直观分析表03 交互作用表03 方差分析表结论:极差越大,影响因素越大,影响因素大小顺序是:冷却液>淬火温度>淬火时间=操作方法平均值越大,条件越优,最优条件是:淬火温度800℃,淬火时间15h,冷却液是水,操作方法为D2根据A与B交互作用表知:淬火温度57℃,淬火时间11min时,交互作用条件下最优4解答:表1.6 因素水平04 实验计划表04 直观分析表结论:(1)用直观(极差)分析法分析确定四个因素的主次顺序为:极差越大,影响因素越大,影响因素大小为:石灰石>石英>粘土>长石(2)试验结果的最佳组合是:粘土55,石英30,长石4,石灰石7(3)最佳组合陶瓷配方组成(用质量百分比表示):粘土52.8%,石英28,8%,长石3.84%,石灰石6.72%5得:a=-14.097,b=0.014507。
C语言上机实验1-18
实验一C程序的运行环境及简单程序编写一、实验目的1.了解tc2.0编译系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.编写一个计算球体体积的程序,要求用户自行录入球体的半径。
参考公式V=4/3πr3.。
2.编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款。
运行结果:Ener a dollar amount:93$20 bills:4$10 bills:1$5 bills:0$1 bills:3实验二顺序结构程序设计一、实验目的1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。
2.掌握格式输入/输出函数的用法。
3.学会简单顺序程序的设计。
4.养成良好的程序设计习惯。
二、实验内容1.编写一个程序,对用户录入的产品信息进行格式化。
Enter item number:583Enter unit price:13.5Enter purchase date(mm/dd/yyyy):3/24/2010Item Unit PurchasePrice date583 $ 13.50 3/24/20102.编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数。
Enter a two-digit number:28The reversal is :82实验三选择结构程序设计一、实验目的1.熟练使用if、switch编写程序。
二、实验内容1.编写一个程序,确定一个数的位数。
Enter a number:374The number 374 has 3 digits假设输入的数最多不超过4位。
提示:利用if语句进行数的判定。
例如,如果数在0到9之间,那么位数为1;如果数在10到99之间,那么位数为2。
c语言上机实验题及参考答案
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语言上机实验
实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:实验结果:参见各种类型的存储实现描述。
2.实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。
注意unsigned int和int数据运算时类型转换的方向。
实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。
C语言程序设计教程上机实验--学生版(精品)
实验一上机操作初步一、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:(实验指导书P79)*************************Very Good*************************2、计算两个整数的和与积。
(实验指导书P81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
(书P3)4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
二、参考答案:1、#include <stdio.h>void main( ){ printf(“********************\n”);printf(“ Very Good\n”);printf(“********************\n”);}2、#include <stdio.h>void main( ){ int a,b,c,d;printf(“Please enter a,b:”);scanf(“%d,%d”,&a,&b);c=a+b;d=a*b;printf(“%d+%d=%d\n”,a,b,c);printf(“%d*%d=%d\n”,a,b,d);}3、#include <stdio.h>#include <math.h>void main( ){ double x,s;printf(“Please input value of x:”);scanf(“%lf”,&x);s=cos(x);printf(“cos(%lf)=%lf\n”,x,s);}4、#include <stdio.h>void main( ){ printf(“==================================\n”);printf(“ 1 输入数据 2 修改数据\n”);printf(“ 3 查询数据 4 打印数据\n”);printf(“===================================\n”);}5、#include <stdio.h>void main( ){ int x,y,t;printf(“Please enter x and y:”);scanf(“%d%d”,&x,&y);t=x; x=y; y=t;printf(“After swap:x=%d,y=%d\n”,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。
《C语言》上机实验题及参考答案
《C语言》上机实验题及参考答案2017《C语言》上机实验题及参考答案为了帮助大家备考接下来的计算机二级考试,应届毕业生店铺整理了2017《C语言》上机实验题及参考答案,希望能帮助大家备考计算机二级考试。
1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
7、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。
8、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
9、编制一个完成两个数的四则运算程序。
如:用户输入34+56则输出结果90.00。
要求运算结果保留两位小数,用户输入时一次将两个数和*作符输入。
10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。
C++上机实验题目及解答
三、内容和步骤
(一)C++程序设计步骤
一个C++程序的设计可分成5个步骤:
1.分析问题。根据实际问题,分析需求,确定解决方法。
2.编辑源程序。编写C++源程序,并利用一个编辑器将源程序输入到计算机中的某一个文件中。C++源文件的扩展名为“.cpp”。
3.编译程序。编译源程序,检查语法错误,生成目标代码文件。目标代码文件的扩展名为“.obj”。
解:
# include <iostream.h>
void main()
{
cout<<" ***************"<<'\n';
cout<<" Hello!"<<'\n';
cout<<" ***************"<<'\n';
}
运行结果:
***************
Hello!
***************
图1.2新建项目对话框
图1.3新建项目向导对话框
生成项目的操作步骤为:
(1)选择集成环境中的“File”菜单中的“New”命令,产生“New”对话框,如图1.2所示。
(2)选择对话框中的“Projects”标签,以便生成新的项目。在产生新项目时,系统自动生成一个项目工作区,并将新的项目加入到该项目工作区中。
(5)若“Add to project”复选框没有选中,则单击该复选框使其选中,表示系统要将指定的源程序文件加入到当前的项目文件中。
第11课-上机实验下
/p/lliixxhh
2
1、声明绘制棋盘函数
/p/lliixxhh
2
2、绘制棋盘函数简单实现
/p/lliixxhh
2
3、WM_PAINT消息中调用
/p/lliixxhh
此方法可以加在WinMain函数最上面。
/p/lliixxhh
/p/lliixxhh
2
绘制棋盘-说明
说明:
我们所绘制代码要写在WM_PAINT消息的 BeginPaint与EndPaint之间,如下图所示:
为了让我们的程序结构化更清晰,我们定义 绘制棋盘函数,其在BeginPaint与EndPaint 之间调用此函数,接下来让我们开始吧!!!
/p/lliixxhh
1
分析 1)应该具备哪些功能?
设计该程序需要解决哪些问题?
2)人机交互动作有哪些?
3)棋盘如何画?背景色如何实现?需要哪 些函数? 4)棋子如何画?需要哪些函数?
5)需要什么样的数据结构?
6)程序算法和流程如何实现?
4
5、存储棋子位置
/p/lliixxhh
3
6、左键按下时记录棋子
/p/lliixxhh
3
棋子绘制-需要定义的函数及变量
// 绘制棋盘 void DrawQiPan(HWND hWnd, HDC hdc); // 绘制棋子 void DrawQiZi(HDC hdc); // 清空二维棋子记录信息 void CleanChess(); // 记录棋子位置 void SavePostion(int nX, int nY);
2
4、棋盘的绘制
C语言程序设计 上机实验指导与习题 参考答案(第四版)
C 语言程序设计上机实验指导与习题参考答案(第四版)(学生改编)实验 1:C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C程序。
(3)通过运行简单的 C 程序,初步了解 C程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1.运行第一个 C 程序题目:ThefirstCProgram将下列程序输入visualc ,编译、连接和运行该程序。
includequotstdio.hquotmain printfquotThefirstCProgramnquot具体操作步骤(1)在编辑窗口中输入程序。
(2)保存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
,则该题完成。
4按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”2.在在线评判系统中提交实现了计算 ab 功能的程序题目 1001:计算ab由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,inclu dequotstdio.hquotmain int ab scanfquotddquotampaampbprintfquotdquotab(1)在程序编辑窗口中输入程序。
(2)保存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入 15 30↙↙表示输入回车符(5)如果看到如下输出结果,则表明1530 的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中介绍的方法进入在线评判系统。
(7)显示题目列表,点击题号为 1001,题名为“计算ab”的题目。
(8)查看完题目要求后,点击页面下端的“sumbit” ,参照第二章提交程序的方法提交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
大学计算机基础实验指导书(11版)
大学计算机基础实验指导书大学计算机基础课程组西北农林科技大学信息工程学院2011年9月前言大学计算机基础分为课堂讲授和上机实验两个环节。
通过上机学习,使学生养成良好的使用计算机习惯,掌握WINDOWS及其应用软件操作和应用方法;培养学生应用OFFICE系列软件操作及应用技能,使用多媒体软件解决实际问题的能力。
在课堂讲授过程中,虽然采用多媒体投影辅助教学,提高了教学直观性,但在实验教学中,学生因为缺少充分的准备,实验目标不明确,“走马观花”的现象普遍存在,这直接影响了整个课程教学质量的提高和后续计算机课程的学习。
本指导书在较全面总结教材内容基础上,把大学计算机基础实验教学中要求掌握的内容以案例的形式给出,学生只要按照指导书,遵照循序渐进规律,就能较系统地掌握基本概念、理论和操作。
由于学时限制,部分内容需要学生自己抽时间在课余完成。
每个实验完成后都需要写出实验总结。
总结中应反映出学生在实验前的实验准备,实验过程中出现的各种问题及解决方法。
本书是在院领导的亲切关怀下,由课组全体成员多次讨论才最后定下基本框架的。
其中实验一由陈勇老师编写,实验二由杨沛老师编写,实验三由杨龙、田彩丽两位老师共同完成,实验四由张晶老师编写,实验五由李梅老师编写,实验六由朱姗娜老师编写,朱俊平老师独立完成了实验七和实验八全部内容的编写,实验九由杨晓辉老师编写,全书由陈勇、孙健敏、杨沛老师统稿,李书琴、张阳教授做了最后审定。
本书每个实验后都要求学生完成实验总结,学生应该详细总结实验中遇到了哪些问题,是如何解决的,还有哪些问题没有解决等内容。
由于时间仓促,本书在内容及形式上做了较大的改动,不足之处请各位老师和同学谅解。
大学计算机基础课程组2011年9月1实验一指法练习一、实验目的熟悉实验环境,认识计算机,培养良好使用计算机的习惯,掌握正确录入方法。
二、实验任务实现盲打,英文指法达每分钟80-100CPM(每分钟字符数)。
三、实验内容及方法利用机房的“指法练习”进行指法训练10小时以上。
上机实验答案
#include<stdio.h> void main() { float x,y,a; scanf("%f,%f",&x,&y); a=(x+y)/2; printf("The average is:%f",a); }
2_10. 补充内容:测试各基本数据类型所占用的存储空间大小(VC环境中)。 课本P266第8题 #include<stdio.h> void main( ) { int c,f,i,d,s,l,ld; sizeof( ):用以测试一个数据或数据类型所占 c=sizeof(char); 存储空间字节数。 i=sizeof(int); 格式: sizeof(数据类型)或 sizeof(表达式) s=sizeof(short); l=sizeof(long); f=sizeof(float); d=sizeof(double); ld=sizeof(long double); printf("char=%d, int=%d, short int=%d, long int=%d,float=%d, double=%d, long double=%d\n",c,i,s,l,f,d,ld); }
2_5. 编写程序,输入三角形的三条边,计算并输出三角形的面积。(注意输入的三 条边必须要能构成一个三角形)求三角形的面积公式为: area ss as bs c
#include <stdio.h> #include <math.h> void main() { float a,b,c,s,t,area; printf("please input a b c:\n"); scanf("%f%f%f",&a,&b,&c); s=(a+b+c)/2; t=s*(s-a)*(s-b)*(s-c); area= sqrt(t) ; printf("the area=%.2f\n",area); }
多媒体技术上机实验作业 答案
真验1:用GoldWave硬件处理音频之阳早格格创做素材准备:音频素材(MP3、WAV、MIDI,起码准备二种要领的文献,每种要领准备2个以上文献)真验真质1、文献拆分取合并挨启一个音频文献,将该音频文献拆分成二个文献分别存盘;拆分前: 音频时少3分28秒决定正在1分50秒处拆分 ,设定佳剪裁位子利用剪切功能不妨便当的剪切掉需要拆为第二个文献的部分,并新建一个文档保存拆分后前段音频时少1分50秒,后段音频时少1分38秒.挨启二个音频文献,将二个音频文献合成一个音频文献.挨启二个WA V文献,WA V-1战WA V-2.利用”剪切”战”粘揭到”功能将第二个文献合成到第一个文献中.已完成合成,保存文献.2、文献要领变更挨启多个共种要领文献,将其批量变更成另一种要领文献存盘.挨启批处理对于话框,采用多个文献.切换到”变更”选项卡,采用变更要领及举止设定采用目标文献保存位子面打启初举止变更,目标文献死成 ,MP3变更WA V乐成…3、音频真质编写采用音频段、音频段静音、音频段简略、拔出空黑天区、裁撤误支配、声音段真质移动位子.鼠标采用音频段,正在”编写”菜单中,采用相映菜单完成做业央供, 音频段静音、音频段简略、拔出空黑天区、裁撤误支配的支配,声音段真质移动位子,不妨借用”剪切”战”粘揭”功能真止.4、音频效验编写浓进浓出效验、频次均衡统造、回声效验、改变音下、倒序声音本音频真止浓进浓出效验频次均衡统造、回声效验、改变音下、倒序声音真验2:用Phtotoshop批处理沉快创造网页相册支配步调:1. 准备佳图片素材;并统一将图片搁正在一个文献夹下.2. 挨启Photoshop的“Web照片画廊”对于话框.3. 树坐“Web照片画廊”对于话框中的选项.(1)采用“样式”;(2)采用源图像存搁位子;(3)采用手段图像存搁位子;(4)树坐“选项”.“Web照片画廊”对于话框中的“选项”内里有6个简曲选项,它们是:“惯例”、“横幅”、“大图像”、“缩览图”、“自定颜色”战“仄安性”.4. 查看“Web照片画廊”截止.挨启IE欣赏器,正在天面栏中输进“Web照片画廊”网站戴路径的主页文献.真验3:使用“赶快受板”抠图真止图像合成使用赶快受版如课本图3-31(a)取(b)(央供教死自己找类似图片)中分别抠出荷花、花瓶,而后将抠出的图片取一个新建的背景图层合成,得到最后合成图像,效验如课本图3-32所示.支配步调如下:1.挨启素材图片“荷花”并创造一个复造的副本图层.2.瞅察图像局部搁大的细节.利用功具箱中的“缩搁工具”. 3.切换到“以赶快受板模式编写”状态.4.给那个副本图层弥补乌色.5.去掉所要天区的受版(利用画笔粗细建改).6. 查看选区(单打工具箱中的“以尺度模式编写”按钮,回到“尺度编写模式”下查看).7. 保存选区(已备后用).8. 保存.PSD文献,以便日后使用.9. 沉复步调1~8,对于花瓶图像做出选区,并保存选区.10. 利用“文献”菜单下的“新建”下令,新建一个新的文献;而后将新建图像文献天圆的背景层弥补色树坐为蓝色;共时也把二个素材图片文献挨启,并能载进选区.11. 利用功具箱中的“移动工具”分离“Ctrl”键,用鼠标分别将荷花选区战花瓶选区拖到新建的图像文献天圆的处事区窗心.12. 正在新建文献中,选定最上头的花瓶图层,采用“编写”菜单下的“变更”以及二级子菜单“火仄翻转”,使得花瓶火仄翻转;而后利用移动工具将花瓶移到所央供的位子.13. 正在新建文献中,选定中间的荷花图层,采用“编写”菜单下的“自由变更”子菜单,而后自由安排荷花的位子、大小、目标,调佳之后,按Enter键死效.至此,图像合成处事完成,最后效验如课本图3-32所示.真验4:创造金属特效笔墨支配步调:1. 新建空黑文档.正在弹出的对于话框中树坐参数.2. 建坐笔墨图层及其笔墨真质.3. 调出“图层样式”对于话框并树坐相闭选项.(1)投影:正在“图层样式”对于话框中,选中“投影”复选框,并单打“投影”笔墨栏使该栏笔墨激活,树坐“投影”选项的参数.(2)斜里战浮雕:正在“图层样式”对于话框中,选中“斜里战浮雕”复选框,并单打“斜里战浮雕”笔墨使该选项激活,树坐“斜里战浮雕”选项的参数.选中“斜里战浮雕”项底下的“等下线”复选框,并单打“等下线”笔墨使该选项激活,树坐“等下线”选项参数.(3)渐变叠加:正在“图层样式”对于话框中,选中“渐变叠加”复选框,并单打“渐变叠加”笔墨使该选项激活,树坐“渐变叠加”选项参数.其中,渐变颜色树坐需要单打“渐变”选项左边的小三角形,弹出“渐变”拾色器,典型采用“橙色-黄色-橙色”渐变.真验5:由多个独力的视频剪辑文献、音频文献合成造动做影戏(1) 挨启Movie Maker, 单打“文献”菜单,采用“新建”→“名目”下令,新建一个影戏名目.(2) 采用“文献”→“导进到支躲”下令或者采用“影戏任务”窗格中的“捕获视频”下的“导进视频”;正在挨启的“导进文献”对于话框中采用相映的.avi视频文献,单打“导进”.(3) 采用“文献”→“导进到支躲”下令或者采用“影戏任务”窗格中的“捕获视频”下的“导进音频或者音乐”,正在挨启的“导进文献”对于话框中采用一个相映的.wav音频文献. (4) 正在“支躲”窗格中,左打所要增加到影戏中的视频剪辑,从快速菜单中采用“增加到情节提要”下令,将所选中的视频剪辑文献增加到情节提要框中.(5) 单打“影戏任务”-窗格下的“编写影戏”→“创造片头或者片尾”,正在窗心中单打“正在影戏启头增加片头”.(6)输进片头文本,并“变动片头动画效验”为“滑动,透视”,单打“完成,为影戏增加片头”.类似天给影戏加上片尾. (7)单打“影戏任务”窗格下的“编写影戏”→“查看视频过度”,从窗格中选一种过度效验,将图标拖至二个相邻剪辑之间.(8)单打“影戏任务”窗格下的“编写影戏”→“查看视频效验”,从中选择一种视频效验,将图标拖至目标剪辑的左下角. (9)正在情节提要框中单打“隐现时间线”按钮,切换到时间线框,从“支躲”窗格中采用要增加的.wav音频剪辑文献,单打鼠标左键,从弹出的快速菜单中采用“增加到时间线”下令.(10)将鼠标移到音频文献的边沿处,面打出现的黑色建剪指针,拖动鼠标,使视频战音频剪辑皆正在共一时间中断. (11)正在时间线框中,采用音频,而后单打鼠标左键,采用“浓进/浓出”,使音频达到稳固过度的效验.(12) 采用“影戏任务”窗格中的“保存到尔的估计机”挨启保存影戏背导,输进文献名,并将影戏保存到磁盘文献夹.真验6:由多个固态图片文献合成造动做影戏式的电子相册(1) 将固态数码照片导进到Movie Maker中.面打“任务”窗格中的“导进图片”,导进数码照片,而后将它拖动到时间线视图中的“视频栏”的所有位子处.(2) 将已经导进的图片增加到时间线的情节提要框中.正在“支躲”窗格中,选中所要增加到电子相册中的固态图片,将所选中的图片文献增加到情节提要框中.(3) 加进过度效验正在图片取图片之间也不妨增加过度效验,要领共前.真验7:创造自动影戏(1)单打”支躲栏”窗格中的某个剪辑,而后将光标移到左边的“任务”窗格中,单打“创造自动影戏”.(2)采用一种编写样式.Movie Maker可自动完成视频文献的编写步调,且有多种编写样式供用户选择.正在编写样式列表的下圆有二个链交,一个是“采用音频战背景音乐”,一个是“输进影戏的片头文本” ;再便是不妨配上适合的背景音乐.(3)完成影戏输出保存.单打“完成,编写影戏”选项.出现5种输出路径,用户可从中任选一种,正在“保存影戏背导”的指引下,完成最后的着色润饰.真验8:“走路的女孩”逐帧动画①新建影片文档②创造背景图层(导进1个图片到第1帧,开端帧位子按F5)③创造动画图层,并导进系列图片(正在第1帧导进,自动调配图片)④安排对于象位子(注意锁定背景层,再用到画图纸按钮)⑤创造笔墨图层,并树坐题目笔墨(用到“文本工具” )⑥尝试存盘真验9:由变更数字组成的“倒计时”逐帧动画①新建一个文档,单打“工具箱”中的“文本工具” ;选中时间轴的第1帧,正在舞台中央输进文本“9”. …..②选中时间轴上第2帧,连绝按9次“F6”键,拔出9个闭键帧(即第2到第10个闭键帧为拔出的闭键帧).每当拔出一个闭键帧时,系统会自动将前一帧的真质复造到后一帧.③选中时间轴的第2帧,单打舞台中的文本,将其本去的笔墨“9”改为“8”.④沉复取步调③相共的支配,将第3帧的文本由“9”改为“7”;曲至将第10帧的文本由“9”改为“0”.那时,动画创造完成.真验10:“球形单晃的周期性晃动”矢量逐帧动画(1)新建一个文档,正在图层1画一根火笔曲线战一个小圆球表示天花板战单晃的牢固面.(2)选中时间轴上第2帧,连绝按9次“F6”键,拔出9个闭键帧,即第2到第10帧是拔出。
数字信号处理上机实验答案
第十章上机实验数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。
实验一系统响应及系统稳定性。
实验二时域采样与频域采样。
实验三用FFT对信号作频谱分析。
实验四IIR数字滤波器设计及软件实现。
实验五FIR数字滤波器设计与软件实现实验六应用实验——数字信号处理在双音多频拨号系统中的应用任课教师根据教学进度,安排学生上机进行实验。
建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。
学习完第六章进行;实验五在学习完第七章后进行。
实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。
function tstem(xn,yn)%时域序列绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1;stem(n,xn,'.');box onxlabel('n');ylabel(yn);axis([0,n(end),min(xn),1.2*max(xn)])10.1 实验一: 系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB 语言的工具箱函数filter 函数。
也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
多媒体技术上机实验作业答案之欧阳育创编
实验1:用GoldWave软件处理音频时间:2021.02.04 创作:欧阳育素材准备:音频素材(MP3、WAV、MIDI,至少准备两种格式的文件,每种格式准备2个以上文件)实验内容1、文件拆分与合并打开一个音频文件,将该音频文件拆分成两个文件分别存盘;拆分前: 音频时长3分28秒确定在1分50秒处拆分 ,设定好剪裁位置利用剪切功能可以方便的剪切掉需要拆为第二个文件的部分,并新建一个文档保存拆分后前段音频时长1分50秒,后段音频时长1分38秒.打开两个音频文件,将两个音频文件合成一个音频文件。
打开两个WAV文件,WAV-1和WAV-2.利用”剪切”和”粘贴到”功能将第二个文件合成到第一个文件中.已完成合成,保存文件.2、文件格式转换打开多个同种格式文件,将其批量转换成另一种格式文件存盘。
打开批处理对话框,选择多个文件.切换到”转换”选项卡,选择转换格式及进行设定选择目标文件保存位置点击开始进行转换,目标文件生成 ,MP3转换WAV成功…3、音频内容编辑选择音频段、音频段静音、音频段删除、插入空白区域、撤消误操作、声音段内容移动位置。
鼠标选择音频段,在”编辑”菜单中,选择相应菜单完成作业要求, 音频段静音、音频段删除、插入空白区域、撤消误操作的操作,声音段内容移动位置,可以借用”剪切”和”粘贴”功能实现.4、音频效果编辑淡入淡出效果、频率均衡控制、回声效果、改变音高、倒序声音原音频实现淡入淡出效果频率均衡控制、回声效果、改变音高、倒序声音实验2:用Phtotoshop批处理轻松制作网页相册操作步骤:1. 准备好图片素材;并统一将图片放在一个文件夹下。
2. 打开Photoshop的“Web照片画廊”对话框。
3. 设置“Web照片画廊”对话框中的选项。
(1)选择“样式”;(2)选择源图像存放位置;(3)选择目的图像存放位置;(4)设置“选项”。
“Web照片画廊”对话框中的“选项”里面有6个具体选项,它们是:“常规”、“横幅”、“大图像”、“缩览图”、“自定颜色”和“安全性”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机实验11 指针与数组一.实验目的1. 掌握用下标、数组名或指针等不同方式引用数组元素;2. 掌握数组名作函数参数的方法;3.掌握常用的字符串处理函数和字符处理函数;4.掌握用指针处理字符串的方法;二.实验内容【实验题1】程序填空:自定义函数del(s), 功能是删除字符串s中的数字字符, 要求使用字符处理函数isdigit()和字符串处理函数strcpy()。
在主函数中输入1个字符串,然后调用函数del(), 用于删除其中的数字字符,并输出处理后的字符串。
提示:从字符串s的首字符开始, 到结束符’\0’之前为止,逐个检查第i个字符是否是数字字符,是则删除该字符——使用字符判别函数isdigit(s[i]), 如果s[i]是数字字符,该函数返回1,否则返回0. 难点:如何删除s的第i个字符?——使用字符串复制函数strcpy(), 将子串s+i+1(从字符s[i+1]开始的子串)复制到给s+i (从字符s[i]开始的子串),即strcpy(s+i, s+i+1)。
#include <stdio.h>#include < ctype.h >#include <string.h>void del( char *s); //line 4 函数声明void main(){ char str[80];gets( str); //输入字符串strdel(str ); //调用函数del(),删除str中的数字puts(str); //输出字符串str}void del(char *s) //line 12 函数定义{ int i=0;while(s[i]!='\0')if(isdigit(s[i]) ) strcpy( s+i, s+i+1); // 如果字符s[i]是数字,用函数strcpy删除它else i++; // 否则,继续查看下一个字符}运行程序,输入字符串"a1b2<c3d4",输出结果是:ab<cd语句行line 4和line 12分别是函数声明和函数定义首部,其中的参数采用了指针的形式,此外,还可采用数组名的形式,即亦可写为void del( char s[] )【实验题2】分析程序运行结果,源程序如下#include <stdio.h>#include <string.h>void main(){ char *s1="****", *s2="****";while (*s2!='\0') {puts(s1+strlen(s2)-1 );s2++;}}运行程序运行时,共循环4次,每次输出一行字符串,其中1)第1行输出:* ,此时,字符串s2= "****" , strlen(s2)= 4 , s1+strlen(s2)-1= s1+ 3 ;2) 第2行输出:** ,此时,字符串s2= "***" , strlen(s2)= 3 , s1+strlen(s2)-1= s1+ 2 ;3) 第3行输出:*** ,此时,字符串s2= "**" , strlen(s2)= 2 , s1+strlen(s2)-1= s1+ 1 ;4) 第4行输出:**** ,此时,字符串s2= "*" , strlen(s2)= 1 , s1+strlen(s2)-1= s1+0 . 【实验题3】程序填空:用选择法将5个字符串“Zhao”、“Qian”、“Sun”,“Li”,“Wang”按降序排序,并输出(要求:使用字符型指针数组)#include<stdio.h>#include<string.h> //Line 2void main(){ char*name[5]={"Zhao", "Qian", "Sun","Li","Wang"}, *s; //1个指针对应1个字符串,共5个字符型指针int i,j,k;for(i=0; i< 4 ; i++) {k= i;for(j= i+1 ; j< 5 ; j++)if(strcmp(name[j], name[k]) >0 ) k= j; //注意:是降序s= name[i] ; name[i]= name[k] ; name[k]= s ; //交换name[i]与name[k] }for(i=0; i<5; i++) puts( name[i] ); //输出排序后的字符串}运行程序,结果显示为:——如果删除语句行Line2,程序是否能正常编译?为什么?--不能,因为要使用字符串比较函数strcmp,必须要包含string.h 【实验题4】程序设计:在主函数中输入一段你或者你们组最想说的话(英文),以这句话作为字符串,编写函数1:输出本字符串并,计算字符串长度;函数2:找出期中大写字母、小写字母、空格、数字,以及其他字符各有多少。
#include <stdio.h>int main(){void length(char *p);void check(char *p);char *str="Love You 10000 Years!!!";length(str);//输出长度check(str);//检测字符串字符类型个数return 0;}void length(char *p) //输出长度函数{int n=0;printf("%s\n",p);while (*p!='\0'){n++;p++;}printf("The length of string is %d.\n",n);}void check(char *p)//检测字符串字符个数函数{int upper=0,lower=0,digit=0,space=0,other=0,i=0;while (*p!='\0'){if (('A'<=*p) && (*p<='Z'))++upper;else if (('a'<=*p) && (*p<='z'))++lower;else if (*p==' ')++space;else if ((*p<='9') && (*p>='0'))++digit;else++other;p++;}printf("upper case:%d,lower case:%d\n",upper,lower);printf("space:%d,digit:%d,other:%d\n",space,digit,other);}【实验题5】程序设计:编写一个程序,输入组号,输出该组的组名。
例如,输入“9”,则输出“开心小团体”,要求用指针处理。
#include <stdio.h>int main(){char *group_name[11]={"illegal group num","No.1","六只老虎","第三组","Hello c!","铠甲勇士","农夫山泉","C7","学霸6+1","开心小团体","小霸王"};int n;printf("input group num:\n");scanf("%d",&n);if ((n<=10) && (n>=1))printf("It is %s.\n",*(group_name+n));elseprintf("It is wrong.\n");return 0;}【实验题6】写一个用梯形法求定积分的通用函数,分别求sin(x),cos(x),exp(x)函数从0到1的定积分(参考课本292页13题,注意本题用梯形法非矩形法)。
#include<stdio.h>#include<math.h>int main(){float integral(float(*)(float),float,float,int);//对integarl函数的声明float fsin(float); //对fsin函数的声明float fcos(float); //对fcos函数的声明float fexp(float); //对fexp函数的声明float a1,b1,a2,b2,a3,b3,c,(*p)(float);int n=100;printf("input a1,b1:");scanf("%f,%f",&a1,&b1);printf("input a2,b2:");scanf("%f,%f",&a2,&b2);printf("input a3,b3:");scanf("%f,%f",&a3,&b3);p=fsin;c=integral(p,a1,b1,n);printf("The integral of sin(x) is:%f\n",c);p=fcos;c=integral(p,a2,b2,n);printf("The integral of cos(x) is:%f\n",c);p=fexp;c=integral(p,a3,b3,n);printf("The integral of exp(x) is:%f\n",c);return 0;}float integral(float(*p)(float),float a,float b,int n){int i;float x,h,s;h=(b-a)/n;//底边x=a;//底边起始位s=0;//面积for(i=1;i<=n;i++){x=x+h;s=s+((*p)(x)+(*p)(x+h))*h/2; }return(s);}float fsin(float x){return sin(x);}float fcos(float x){return cos(x);}float fexp(float x){return exp(x);}。