将n个数按输入顺序的逆序排列,用函数实现.doc
- 格式:doc
- 大小:22.50 KB
- 文档页数:3
C语言及实验作业参考做法分支程序设计笔头作业:1.输入4个整数,按从小到大的顺序输出2.根据月份判断季节。
输入月份,输出春/夏/秋/冬。
要求用switch语言实现3.学生学习两门课:必修课成绩为course1,选修课成绩为course2,若两门都及格,打印pass,必修课不及格,打印fail4.从键盘输入一个年份,判该年是否是闰年,是闰年就输出yes,否则输出no 5.从键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。
6.商店卖西瓜,10斤以上每斤0.8元, 8斤以上每斤0.6元, 6斤以上每斤0.4元,4斤以上每斤0.3元, 4斤以下每斤0.15元,输入西瓜重量和所付的钱数,输出应付的货款和应找的钱数循环程序设计书面作业:1.从键盘上输入10个整数,计算这些整数的和2.水仙花数。
一个3位数,若其各位数字之和等于它本身,这个数就称为水仙花数.输出所有的水仙花数。
(如153)#include<stdio.h>int main()//方法一{ int num,bai,shi,ge;for(num=100; num<1000; num++){bai=num/100;shi=num/10%10;ge=num%10;if(num==bai*bai*bai+shi*shi*shi+ge*ge*ge)printf("%d\n",num);}return 0;}//方法二int main(){int i,j,k;for(i=1; i<10; i++)for(j=0; j<10; j++)for(k=0; k<10; k++)if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf("%d\n",100*i+j*10+k);return 0;}3.计算分数序列2/1,3/2,5/3,8/5,13/8,21/13,.....前20项之和。
上机实验题实验1控制流的熟悉实验目的:熟练掌握if-else、while(do)、for、break和continue等控制语句实验要求:1.编写两个函数比较if else 与swich case区别2.编写两个函数比较while与do while区别3.编写一个函数熟悉for循环语句4.编写三个函数比较break与continue区别实验步骤、方法:选择结构:1、输入两个数,分别存放在变量a和b中:scand(“%d%d”,&a,&b);2、进行比较,并将较大数存储在变量c中if(a>b) c=a;else c=b;3、输出变量c printf(“%d”,c);循环结构:1+2+3+….+1001、初始化部分:建立循环首次执行所需条件:如:sum=0; k=1;2、循环部分:需要重复执行的操作:如:sum=sum+k;3、增量修改:修改循环次数变量的值,使之趋于结束:如:k++;4、终止测试:当不满足条件时执行循环,否则结束循环if(k<=100)实验练习:1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
4、为进行交通流量统计调查,在路边设置一个车辆探测器,探测信号通过线路送入计算机。
当有车辆通过时,探测器传送数字信号1给计算机。
探测器中有一个计时器,每隔一秒钟发送一个数字信号2给计算机。
计时器从开始探测时计时,探测结束是送一个数字信号0给计算机。
写程序模拟:1、进行了多长时间的统计调查;2、记录到的车辆数;3、车辆间最长时间间隔是多少?(提示:用while语句写此程序)5编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。
1)要将“China”译成密码,密码规律是:用原来的字母后面第4个字母替原来的字母。
例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。
因此,“China”应译为“Glmre”。
请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为‘C’,‘h’、‘i’、‘n’、‘a’,经过运算,使分别变为‘G’,‘l’,‘m’,‘r’、‘e’,并输出。
2)给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’,90分以上为‘A’,80—89分为‘B’,70—79分为‘B’,60—69分为‘B’,60分以下为‘E’3)给出一个不多于5位的正整数,要求:1、求出它是几位数;2、分别打印出每一位数字;3、按逆序打印出个位数字,例如原数是321,应输出123。
4)输入4个整数,要求按由小到大的顺序输出。
5)企业发放的奖金根据利润提成。
数组6)用筛选法求100之内的素数7)用选择法对10个整数排序8)求一个3*3的整型矩形对角线元素之和9)已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中10)将一个数组中的值按逆序重新存放。
11)打印魔方阵。
行,列,对角线和相等12)找出一个二维数组的鞍点,该行最大,该列最小,也可能没有。
13)有15个数按由大到小存放,用折半法找出该数是数组中第几个元素的值。
14)电文加密15)字符串连接16)字符串比较17)字符串拷贝函数18)写两个函数,分别求两个整数的最大公约数和最小公倍数19)写一个判素数的函数20)写一个函数,使一个给定的二维数组行列互换21)写一个函数,使字符串反序存放,在主函数中输入输出22)写一函数,将一个字符串中元音字母复制到另一字符串23)写一函数,输入一个4位数字,要求输出4个数字字符,但要求数字间空一个空格24)编写一个函数,统计参数字符串中字母、数字、空格和其他字符的个数25)写一个函数,输入一行字符,将此字符串最长的单词输出26)写一函数,用起泡法对10个字符排序27)输入10个学生5门课的成绩,分别用函数求:每个学生的平均分,每门课的平均分,找出最高分数对应的学生和课程,28)写几个函数,输入10个职工的姓名和职工号,按职工号从大到小的顺序排序,姓名顺序也随着调整;用折半法查找输入的一个职工号,输出该职工姓名。
C语言上机实验指导实验一熟悉C语言程序开发环境一.目的要求1.熟悉在所用的计算机系统上如何编辑、编译、连接和运行一个C语言程序。
2.掌握C语言的数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法。
3.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用。
4.通过运行简单的C语言程序,初步了解C语言程序的结构特点。
二.实验内容1.调用编辑程序,输入以下程序,并进行编译和运行。
熟悉所用的系统使用什么命令进行编译和连接运行的。
编译和连接后所得到的目标程序的后缀是什么形式?main( ){printf(“This is a c program.\n”);}2.从键盘依次输入两个整数,计算并输出这2个整数之差。
# include “stdio.h”main(){ float a,b,c;printf(“input a,,b,:\n”);scanf(“%d, %d,”,&a,&b);c=a-b;printf(“c=%d\n”,c);}具体要求:①在Turbo C或其他编译环境编辑窗口输入该程序,然后进行编译连接。
如果在编译过程中有错误发生,则仔细检查并修改程序,再进行编译连接,直到没有错误为止。
②运行时按程序中要求的格式依次输入下列2个数:212,843.输入并运行以下程序,分析结果,体会自增自减运算符的特点,上机验证;main( ){int i,j,m,n,u=0,v=0;i=8;j=10;m=++i;n=j++;u+=i--;n-=--j;pr intf(“i=%d,j=%d,m=%d,n=%d,u=%d,v=%d\n”,i,j,m,n,u,v);}4.输入并运行下面的程序。
main(){int m,n;m=120;n=112;printf(“%d\t%d\n”,m,n);}要求:①运行程序记下结果。
②在程序的最后增加一句:printf(“%c\t%c\n”,m,n);再运行程序,并分析结果。
第一期:1. 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身,例如:153是一水仙花数,因为153=1+125+27.2. 一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如:6的因子是1,2,3,而6=1+2+3因此6是“完数”。
编程序找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,33. 有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20相之和。
4.一个球从100M高度自由下落,每次落地后反跳回原高度的一半,再落下,再反弹,求它在第10次落地时,共经过多少米,第10次反弹多高。
5.猴子吃桃问题。
猴子第一天,摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。
第二天早上又将剩下的桃子吃掉一半,有多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第十天早上想再吃时,就只剩一个桃子了。
求第一天共摘了多少个桃。
6.两个乒乓球队进行比赛,各出3人。
甲队为A,B,C;乙队X,Y,Z。
以抽签决定比赛名单。
有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程找出3队赛手的名单。
7.将一个二维数组行和列的元素互换,存到另一个数组中。
原始二位数组手动输入,行和列自定。
8.输出以下的杨辉三角形(要求输出15行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 19.输出“魔方阵”。
所谓魔方阵就是指这样的方阵,它的每一行,每一列和对角线之和均相等。
例如三阶魔方阵为:8 1 64 9 2要求输出1~n2的自然数构成的魔方阵。
10.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
第二期:1.有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则输出“无此数”。
17.5 实验5 循环结构程序设计1.实验目的(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。
(2)掌握在程序设计中循环的方法实现一些常用的算法(如穷举、迭代、递推等)。
(3)进一步学习调试程序。
2.实验内容编程并上机调试运行(1)输入一行字符、分别统计出其中的英文字母、空格、数字和其他字符的个数(本题是教材第5章第4题)在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
(2)输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=1³+5³+3³(本题是教材第五章第8题)。
(3)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃,只剩一个桃子了。
求第一天共摘了多少桃子(本题是教材第五章第12题)。
再得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。
请修改程序并运行,检查结果是否正确。
(4)用牛顿迭代法求方程2X³=4x²+3x-6=0在1.5附近的根(本题是教材第五章第13题,学过高等数学的读者可选做此题)。
再得到正确结果后,请修改程序所设的X初始值由1.5改为100,1000,1000,再运行,观察结果,分析不同的x初值对结果有什么影响,为什么?修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响。
3.预习内容预习教材第5章。
17.6 实验6 数组1. 实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。
(2)掌握字符数组和字符串函数的使用。
(3)掌握与数组有关的算法(特别是排序算法)。
2.实验内容编程序并上机调试运行。
本题要求实现一个求整数的逆序数的简单函数.
Reverse Integer--将原整数反转得到新的整数
我们可以编写一个简单的函数来求整数的逆序数:
1.将需要逆序的整数复制到一个变量里;
2.创建一个新变量来存放结果,并定义一个初始值;
3.使用循环结构,将每一个整数位上的值拆分存放到新变量里,并将每一个新存放的数值加起来;
4.最终的结果将是逆序数的结果。
为了更有效的实现该函数,我们可以使用类型转换,将变量从整数类型转换为字符串,这样就可以使用一个索引一位一位拆分字符串,以SE方式存放到新变量中,计算逆序数的时候也更加方便简单。
实现这一函数以后,我们可以使用它来更高效的计算逆序数,从而节省编程时间。
excel倒序排列函数一、什么是倒序排列?在Excel中,倒序排列是指将数据从大到小(或从Z到A)排序。
只需要一步一步地操作,就可以将数据倒序排列。
二、如何使用Excel倒序排列函数?1. 选择需要排序的数据区域首先,打开Excel,并在工作表中选择需要排序的数据区域。
例如,我们要倒序排列一个学生成绩表。
2. 打开排序对话框在Excel 2010及以上版本中,打开“数据”选项卡,然后点击“从A到Z排序”或“从Z到A排序”按钮(实际上是一个排序图标),打开排序对话框。
在Excel 2007及以下版本中,打开“数据”选项卡,然后选择“A到Z排序”或“Z到A排序”,打开排序对话框。
3. 选择排序列和顺序在排序对话框中,选择要排序的列(学生成绩表中是“成绩”),然后选择排序顺序(从大到小或从Z到A),最后点击“确定”按钮。
如果您希望进行高级排序,则可以点击“高级”按钮,打开高级排序对话框,然后按照需要进行设置。
三、常见Excel倒序排列函数错误及解决方法1. 数据中包含空格或空单元格如果数据中包含空格或空单元格,则可能会导致倒序排列函数无法正常工作。
解决方法是删除空格或填充空单元格。
2. 数据格式不正确与其他Excel函数一样,倒序排列函数需要正确的数据格式。
例如,如果您的数据是文本格式,则需要将其转换为数字格式。
3. 排序范围错误如果您错误地选择了不包括需要排序的数据的单元格,则倒序排列函数将无法正常工作。
选择正确的数据范围并重新运行函数即可解决问题。
四、倒序排列函数在实际工作中的应用倒序排列函数在实际工作中有很多应用。
例如,您可以使用它来:1. 对客户销售数据进行排序倒序排列函数可以帮助您快速查找最高销售额的客户或查找最大订单数量的客户。
2. 对产品价格进行排序倒序排列函数可用于在各个价格点上比较产品价格。
您可以快速找到各个价格点上最贵或最便宜的产品。
3. 对公司的财务报告进行排序倒序排列函数可以帮助您快速找到公司的盈利、净利润或总资产的最高和最低点。
sort函数倒叙sort函数的倒序排列是指按照递减的顺序对元素进行排序。
使用sort函数进行倒序排序时,可以通过设置参数来改变默认的排序规则。
在Python中,可以通过`reverse=True`这个参数来实现倒序排序。
以下是一个示例代码,展示如何使用sort函数对列表进行倒序排序:```pythonmy_list = [4, 9, 2, 7, 1]my_list.sort(reverse=True)print(my_list)```上述代码中,创建了一个包含一些数字的列表`my_list`。
通过调用sort函数,并将`reverse=True`传递给它,即可实现对列表元素的倒序排序。
运行此代码后,输出的结果将会是`[9, 7, 4, 2, 1]`,即按递减顺序排列的原始列表。
需要注意的是,sort函数会直接修改原始的列表,并返回`None`作为结果。
如果想要保留原始列表的同时进行倒序排序,可以使用`sorted()`函数:```pythonmy_list = [4, 9, 2, 7, 1]new_list = sorted(my_list, reverse=True)print(new_list)```这样做会创建一个新的列表`new_list`,它包含了按照递减顺序排列的原始列表的元素。
使用sort函数进行倒序排序时,既可以用于数字类型的列表,也可以用于字符串类型的列表,甚至还可以对自定义的对象列表进行排序。
只需根据具体需求调整参数,并结合适当的比较函数或键函数,即可实现灵活而强大的排序功能。
输⼊n个数,要求程序按输⼊时的逆... 例5.1输⼊n个数,要求程序按输⼊时的逆序把这n个数打印出来,已知整数不超过100个。
也就是说,按输⼊相反顺序打印这n个数。
【分析】我们可定义⼀个数组a⽤以存放输⼊的n个数, 然后将数组a中的内容逆序输出。
【说明】:语句int a[100]声明了⼀个包含100个整型变量的数组,它们是:a[0],a[1],a[2],…,a[99]。
注意,没有a[100]。
在上述程序中,数组a被声明在main函数的外⾯。
只有放在外⾯时,数组a才可以开得很⼤;放在main函数内时,数组稍⼤就会异常退出。
它的道理将在后⾯讨论,只需要记住规则即可。
数组不能够进⾏赋值操作:如果声明的是int a[MAXN],b[MAXN],是不能赋值b=a的(Pascal语⾔可以的)。
如果要从数组a复制k个元素到数组b,可以这样做:memcpy(b,a,sizeof(int)*k)。
当然了,如果数组a和b都是浮点型的,复制时要写成memcpy(b,a,sizeof(double)*k)。
如果需要把数组a全部复制到数组b中,可以写得简单⼀些:memcpy(b,a,sizeof(a))。
使⽤memcpy函数要包含头⽂件cstring。
#includeusing namespace std;int main(){int a[100];int x;for(int n=0;n<=100;n++)scanf("%d",&a[n]);for(int n=100;n>=100;--n)printf("%d",a[n]);return 0;}。