第1次上机练习:
根据课堂所讲的三个例题,完成如下功能:
0.将三个例题录入编程环境,编译并运行。
1.修改例题2,从键盘读入三个整数,计算三个整数的和与积,并输出。
2.修改例题3,用子函数计算两个整数中的小值,主函数输出结果。
3.修改例题3,用子函数计算两个整数的差的绝对值(提示:先求解,后根据大小取相反数。或者先比较大小,再相减)。
4.编写一个程序,从键盘读入一个字符,并输出。("%c" 选作)
5.编写一个程序,从键盘读入两个double类型数,计算并输入二者之和。("%lf"选作)
第2次上机练习:
1.编写程序完成:从键盘读入10个整数,输出大于20的整数的个数。
2.编写程序完成:使用循环,计算1至5的和与积,并输出。
3.从键盘读入两个正整数x和y,计算x与y之间的整数和(含x和y),并不知道x,y中哪个大。
4.编写程序完成:从键盘读入20个整数,它们都是0-9之间的个位数,输出0-9元素的个数(例如0:1个,1:2个...9:1个)。
5.完成教材141页,11题。(参考答案:第10次落地经过299.609375米,第10次弹起距离0.097656米,选作)。
6.思考教材141页,12题。(参考答案:total=1534)
第3次上机练习:
1.从键盘读入10个整数(包括正数、负数和0),输出其中的最大值和最小值。
2.从键盘读入一个正整数,输出各个位数字之和。(用%取余数,用x/10获取下次循环的数值)
3.从键盘读入n,求解1!+2!+3!+...+n!。(n不要太大否则可能溢出)
4.从键盘读入整数,当读入0时结束循环,输出正数和负数各有多少个。
5.输入一行字符,分别统计其中字母、数字和空格的个数。(用while((ch1=getchar())!='\n')来判断是否结束输入,用&&表示并且,例如if(ch1>='a'&&ch1<='z')。选作)
第4次上机练习:
1.从键盘读入一个正整数,输出各个数字中最大的值(若输入1265,则输出6)。
2.从键盘读入个位数n,求和s=1+12+123+...12..n.(例如,输入5,求解s=1+12+123+1234+12345)。
3.从键盘读入一个正整数,判断其是否是质数。(只能被1和自身整除,1既不是质数也不是合数,应该考虑2的情况。判断方法:采用1到n除尽两次;或者2到n-1没有除尽的情况;或者2到根号n没有除尽的情况)
4.写一个程序,判断从键盘读入的正整数是否是对称数(12321是,789不是)。(从低到高位求得各位数字,形成新的数,与原数比较是否相等)
5.从键盘读入10个正整数,输出质数的个数。(用到二重循环,即一个循环控制10次,里边还有一个循环用来判断质数,选做)
6.计算1-999之间的同构数(就是该数在平方的右面,如5的平方为25,则5是同构数,选作)。(1,1;5,25;6,36;25,625;76,5776;376,141376;625,390625)
7.从键盘读入一个三位正整数,输出各个位组合形成的最大数。(如输入362或236,则输出632,选作)
8.从键盘读入一个正整数(至少3位数),且各个位数字不同,出各个位中最大的数字,输出该数字将正整数分隔的结果。(例如输入32751,最大是7,得到的两组数分别是32和51;若输入237,最大是7,只能输出一组数,是23,选作)
9.从键盘读入一个正整数(各个位数字不同),输出各个位组合形成的最大数。(思考)
第5次上机练习:
1.从键盘读入整数,计算读入的数据之和,当读入0时,结束,输出最后的结果(不知道输入多少个数,以0为结束标志)。
2.从键盘读入正整数n,求和=1 n +2 n +3 n +4 n。
3.从键盘读入5组数,每组2个正整数,每组以这两个数的乘积为一个值,求这5个乘积中的最大值。(例如输入的5组数如下:1,2;3,4;5,2;67,89;5,10.则计算2,12,10,5963,50中的最大值)
4.从键盘读入两个正整数,输出从个位开始各个位有相同数字的次数。(两个数的位数不一定相同,从个位开始对应位比较,例如输入2356和1179396,相同位相同的数字有6和3,因此次数是2)
5.从键盘读入10个数,计算并输出最大值和最小值及出现在的位置(即最大值和最小值各是第几次输入的)。
6.从键盘读入两个正整数,以这两个正整数生成两个新数。(例如输入12,345,则生成新数为12345和34512)
7.从键盘读入一个正整数x,和另一个正整数n,以x的逆序输出n个数字。(例如x为123,n为8,则输出为32132132)
8.判断从键盘读入的正整数的各个位数字是否为单调递减的。(如753是,758则不是;同理可以判断单调递增的情况,选作)。
9.从键盘读入正整数,判断相邻两位的数字是否存在差1的定情况,存在几次。(4527存在一次,78924存在两次,选作)
10.从键盘读入一个正整数(可能含有多个0),输出各个位组合形成的最小数。(输入890120,输出1289.选作)
第6次上机练习:
1.从键盘读入10个整数,计算大于100元素的个数,并计算大于100的元素中,奇数和偶数各有多少个。
2.从键盘读入两个正整数m,n(不要太大),输出1到100之间奇数的m次方和偶数的n次方。
3.从键盘读入两个正整数,分别表示year和month,输出该年该月有几天(判断是否闰年,请百度或翻阅教材)。
4.编程输出从键盘读入的大于1的正整数的质数因子。(如读入6,输出2 3. 读入16,输出2)
5.从键盘读入两个正整数x和y,从个位开始,以x和y的各个位交替组成一个新数。(例如输入123和56889,则输出39281865)。
6.从键盘读入两个正整数x和y,从个位开始,以x的奇数位和y的偶数位,组成一个新数。(例如输入123和5678345,则输出34186)。
7.从键盘读入两个正整数做分数,求他们的最简式。(例如输入6和12,则最简式是1/2(用输出语句输出三个符号);输入12和6,最简式是2)(本题实际上是到最大的公因子,再做除法)
8.完成教材习题5的练习8,9,10。(水仙花数:153,370,371,407)(完数:6,28,496)(数列之和:32.6602607986)。
9.编程输出从键盘读入的大于1的正整数的质数因式分解式。(如读入6,输出2 3.读入16,输出 2 2 2 2.选作)。
10.从键盘读入一个正整数x,再读入两个正整数m和n,从个位开始向前数,输出从m位开始的n位数字。(例如x是12345,m是3,n是6,则输出321543,选作)
第7次上机练习:
0.定义一个存放10个整数的数组,从键盘读入10个整数存放到数组中,求所有元素的和。
1.定义一个存放10个整数的数组,从键盘读入10个整数存放到数组中,将每个元素的值加1,输出修改后的数组元素。
2.定义一个存放10个整数的数组,从键盘读入10个整数存放到数组中,求出大于平均值的元素的个数。
3.定义一个存放10个整数的数组,从键盘读入10个整数存放到数组中,求出最大值和最小值,并输出所在的下标。
4.蜗牛爬树问题,有树100米,一只蜗牛白天向上爬4米,晚上滑落2米。每到第五天,由于疲劳,会多滑落1米。每到15米处,有食物补充,可以比平时多爬2米。问第几天能爬到树顶(今天是第48天,初始97米,爬了4米,爬至101米)。
5.从键盘读入100个个位数,输出0-9的数字输入次数。(使用数组存放输入次数,100个元素无需保存,选作)
6.定义一个存放20个整数的数组,从键盘读入20个整数存放到数组中,输出元素的值及重复次数。(存在重复的输入数据,且不知道数的正负或者0,输出结果类似于:1:2次,5:3次,8:1次...选作。)
第8次上机练习:
0.定义1个存放10个整数的数组a,从键盘读入10个正整数存放到数组中,输出奇数和减去偶数和的值。
1.定义1个存放10个整数的数组a,从键盘读入10个正整数存放到数组中。再从键盘读入0到9之间的数i,表示下标值,以a[i]起点,分别向后和向前输出数组中的10个元素。
2.定义2个存放10个整数的数组,分别为a和b,从键盘分别读入10个整数存放到数组a和b中。修改a和b数组中元素的值,a[i]修改为读入时a[i]与b[i]元素的和,b[i]修改为读入时a[i]与b[i]元素的积。求出修改后的a中的最大值,b中的最小值。
3.已知数组含有10个元素,元素已经排好顺序且存在重复,计算共有几个不同的数(如果输入的是个位数如下:1122456777,则不同的数有6个)。
4.建立一个整数数组int a[10],从键盘读入10个正整数(可以有相同的)放到数组中,到最小值,并将该最小值放在a[0],将原来的a[0]放在刚才最小值的位置。
5.建立一个整数数组int a[10],从键盘读入9个正整数(可以有相同的元素)且数值递增,放到数组中a[0]到a[8]中,再读入一个正整数,放到数组中合适的位置,要求数组仍然递增有序。
6.建立一个整数数组int a[10],从键盘读入10个正整数(可以有相同的)放到数组中,将连续相邻的两个元素组成一组,比较一组元素,看是否递增,若是继续比较下一组;若不是递增,则交换两个元素,使大的元素向后移动。这样遍历一遍,最大值应该在a[9]的位置,写出此程序。(若有12453,则依次比较12,24,45,53,交换53,最大的数5换到最后。选作)
7.定义2个数组a,b,每个数组存放10个整数,从键盘读入10个大于2的正整数存放到数组a
中,求出数组a中每个元素的最大质因子,放入数组b对应的位置中,输出a和b的值(选作)。
8.建立数组int a[3], 分别表示一月初、二月初、三月初的兔子对数(分别称小兔子、中兔子、老兔子),第一个月有一对兔子,根据每对兔子三月初能生一对小兔的规则,求12月月初有几对兔子(几对老兔子,几对中兔子,几对小兔子)。(是斐波那契数列,可百度该数列的细节,选作)。
9.从键盘读入两个正整数x和y,查x中的高位最大数字和y中低位的最大数字,将两个对齐相加,求最后的结果。(例如x为164564,y为2394901,则将x的第二个数字6与c语言斐波那契数列y的第五个数字9对齐相加,输出最后的结果,选作)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论