输出1000以内所有的完数和其所有的因子

合集下载

编程题——精选推荐

编程题——精选推荐

编程题1. 编程,统计在所输⼊的50个实数中有多少个正数、多少个负数、多少个零。

2. 编程,计算并输出⽅程X2+Y2=1989的所有整数解。

3. 编程,输⼊⼀个10进制正整数,然后输出它所对应的⼋进制、⼗六进制数。

4. ⼀个数如恰好等于它的因⼦之和,这个数就称为“完数”。

编程序找出1000以内的所有完数,并输出其因⼦(6是⼀个"完数",它的因⼦是1,2,3)。

5. 输⼊⼀个正整数,输出它的所有质数因⼦(如180的质数因⼦为 2、2、3、3、5)。

6. 输⼊20个整数存⼊⼀数组,输出其中能被数组中其它元素整除的那些数组元素。

7. 输⼊两个数组(数组元素个数⾃定),输出在两个数组中都出现的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},则输出3、5)。

8. 输⼊两个数组(数组元素个数⾃定),输出在两个数组中都不出现的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},则输出2、4、6、3、7、9、10、-1)。

9.编程,将字符数组S2中的全部字符拷贝到字符数组S1中(不⽤strcpy函数)。

10.给定年份year,判别该年份是否闰年(定义⼀个宏以判别该年份是否闰年)。

11.输⼊⼀⾏⼩写字母后,将字母变成其下⼀字母(a变成b、b变成c、c变成d、…、x变成y、y变成z、z变成a)输出。

12. 编写⼀个函数,处理n⾏、n列的⼆维数组:将每⼀⾏的元素同除以该⾏上绝对值最⼤的元素。

13. 编写函数,求任意阶多项式 a0+a1X+a2X2+...+anXn 的值并返回多项式的值。

14. 设计⼀个函数,使给出⼀个数的原码,能得到该数的补码。

15. 编写函数,求m⾏、n列的⼆维数组全体元素中负数的个数。

16. 编写函数,返回在⼀个整数组中出现次数最多的数及其出现次数。

17.编⼀个程序,打⼊⽉份号,输出该⽉的英⽂⽉名,要求⽤指针数组处理。

C语言编程题

C语言编程题

四、编写程序题及参考答案导读:虽然题目基本按照教材章节顺序排列的,但是把同类题目尽量排在一起,便于读者学习掌握编程方法和思路,提高自己的编程能力。

【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率=0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

【4.2】输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0 && year%100!=0 || year%400==0。

若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。

【4.3】编写一个简单计算器程序,输入格式为:data1 op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

【4.4】输入n值,输出如图所示矩形。

【4.5】输入n值,输出如图所示平行四边形。

【4.6】输入n值,输出如图所示高为n的等腰三角形。

【4.7】输入n值,输出如图所示高为n的等腰三角形。

【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。

【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。

【4.10】输入n值,输出如图所示边长为n的空心正六边型。

【4.11】输入n值,输出如图所示图形。

【4.12】输入n值,输出如图所示图形。

【4.13】输入n值,输出如图所示图形。

【4.14】输入n值,输出如图所示图形。

【4.15】输入n值,输出如图所示图形。

上一页下一页【4.16】输入n值,输出如图所示图形。

(例为n=6时)【4.17】编写程序,输出如图所示sin(x) 函数0到2π的图形。

【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。

【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。

c#基本训练提高集锦题库97

c#基本训练提高集锦题库97

程序设计基本训练题集1 画个空心的梯形吧编程,输入 n ,输出如下例( n=5 )所示的高和上底均为 n 的等腰空心梯形。

* * * * ** ** ** ** * * * * * * * * * * * *2输入:输入等腰三角形的高h。

输出:等腰三角形。

3 编写程序,输出 1000 以内的所有完数及其因子。

所谓完数是指一个整数的值等于它的因子之和,例如 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是一个完数。

4 一个马戏团表演, n 个座位全满,全部门票收入是 120 元,现在知道,男人每人5 元,女人每人 2 元,小孩每人 1 角。

编程,输入总人数 n ,输出满足要求的男人、女人和小孩人数的全部方案。

, 若 n 人无法满足条件,则输出 "No output"( 双引号内的部分为输出部分 ) 。

输入:人数 n输出:男人、女人和小孩人数5 黑色星期五在西方,星期五和数字 13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。

所以,不管哪个月的 13 日又恰逢星期五就叫“ 黑色星期五” 。

输入某年年号和该年的元旦是星期几( 1-7 ),输出该年所有的“ 黑色星期五” 的日期(年 / 月 / 日)输入: 4 位年号和该年元旦是星期几输出:所有的“ 黑色星期五” 的日期(年 / 月 / 日)6猴子吃桃子有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。

第 2 天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。

以后每天早上都吃了前一天剩下的一半加天数个(例如,第 5 天吃了前一天剩下的一半加 5 个)。

到第 n 天早上再想吃的时候,就只剩下一个桃子了。

输入:天数 n输出:第一天的桃子个数7 若正整数A的全部约数(包括1,不包括A本身)之和等于B ; 且整数B的全部约数(包括1,不包括B本身)之和等于A,则 A 、 B 为亲密数。

计算机二级编程试题

计算机二级编程试题

【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率= 0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

【4.2】输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0 && year 0!=0 || year@0==0。

若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。

【4.3】编写一个简单计算器程序,输入格式为:data1 op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

【4.4】输入n值,输出如图所示矩形。

【4.5】输入n值,输出如图所示平行四边形。

【4.6】输入n值,输出如图所示高为n的等腰三角形。

【4.7】输入n值,输出如图所示高为n的等腰三角形。

【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。

【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。

【4.10】输入n值,输出如图所示边长为n的空心正六边型。

【4.11】输入n值,输出如图所示图形。

【4.12】输入n值,输出如图所示图形。

【4.13】输入n值,输出如图所示图形。

【4.14】输入n值,输出如图所示图形。

【4.15】输入n值,输出如图所示图形。

【4.16】输入n值,输出如图所示图形。

(例为n=6时)【4.17】编写程序,输出如图所示sin(x) 函数0到2π的图形。

【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。

【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。

若屏幕的横向为x轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。

2011年计算机二级C语言编写程序题及答案解析精选1

2011年计算机二级C语言编写程序题及答案解析精选1

2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315%期限一年0.330%期限二年月息利率=0.345%期限三年0.375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

【4.2】输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0&&year0!=0||year@0==0。

若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。

【4.3】编写一个简单计算器程序,输入格式为:data1op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

【4.4】输入n值,输出如图所示矩形。

【4.5】输入n值,输出如图所示平行四边形。

【4.6】输入n值,输出如图所示高为n的等腰三角形。

【4.7】输入n值,输出如图所示高为n的等腰三角形。

【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。

【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。

【4.10】输入n值,输出如图所示边长为n的空心正六边型。

【4.11】输入n值,输出如图所示图形。

【4.12】输入n值,输出如图所示图形。

【4.13】输入n值,输出如图所示图形。

【4.14】输入n值,输出如图所示图形。

【4.15】输入n值,输出如图所示图形。

【4.16】输入n值,输出如图所示图形。

(例为n=6时)【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。

【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。

【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。

若屏幕的横向为x轴,纵向为y 轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。

C语言编程题

C语言编程题

四、编写程序题及参考答案导读:虽然题目基本按照教材章节顺序排列的,但是把同类题目尽量排在一起,便于读者学习掌握编程方法和思路,提高自己的编程能力。

【4.1】已知银行整存整取存款不同期限的月息利率分别为:0。

315% 期限一年0。

330%期限二年月息利率=0。

345%期限三年0。

375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

【4。

2】输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0 && year%100!=0 ||year%400==0。

若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。

【4。

3】编写一个简单计算器程序,输入格式为:data1 op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

【4。

4】输入n值,输出如图所示矩形。

【4.5】输入n值,输出如图所示平行四边形。

【4。

6】输入n值,输出如图所示高为n的等腰三角形。

【4.7】输入n值,输出如图所示高为n的等腰三角形。

【4。

8】输入n值,输出如图所示高和上底均为n的等腰梯形。

【4。

9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。

【4.10】输入n值,输出如图所示边长为n的空心正六边型。

【4.11】输入n值,输出如图所示图形。

【4。

12】输入n值,输出如图所示图形.【4。

13】输入n值,输出如图所示图形。

【4.14】输入n值,输出如图所示图形。

【4.15】输入n值,输出如图所示图形。

上一页下一页【4。

16】输入n值,输出如图所示图形。

(例为n=6时)【4。

17】编写程序,输出如图所示sin(x)函数0到2π的图形。

【4。

18】编写程序,在屏幕上输出一个由*号围成的空心圆。

【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。

C语言基础题

C语言基础题

C语言基础题第一期: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个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。

test 1

test 1

1. 编写Hello.java程序并运行。

public class Hello {public static void main(String args[]){System.out.println("Hello java!!!");}}2. 用Java语言编写一个应用程序在屏幕上输出1000之内的素数。

public class Testprime {public static void main(String args[]){int i,j,k;for( i=1;i<=1000;i++){k=0;for( j=2;j<=Math.sqrt(i);j++){ if(i%j==0){k=1;break;}}if(k==0)System.out.println(i + " is a prime");}}}3. 一个数如果恰好等于它的因子之和,这个数就称为“完数”,比如28=1+2+4+7+14。

编写一个应用程序在屏幕上输出1000之内的完数。

public class Testprime {public static void main(String args[]){int i,j;for(i=1;i<=1000;i++){int s;s=0;for(j=1;j<i;j++){if(i%j==0){s+=j;}}if(s==i)System.out.println(" "+i);}}}4. 求满足1!+2!+3!+ …+n!≤9999的最大整数n 。

public class Testor {public static void main(final String[] args) {int f(int n){int i=0;int z=1;for(i=1;i<=n;i++)z=z*i;return z;}int F(){int i =0;int sum =0;for(i=1;i<=n;i++){sum=sum+f(i);if(sum>9999)break;}return i-1;System.out .println(i-1);}}5. 一个三位的整数如果它的各位数字的立方之和等于这个三位数,就称此数为水仙花数,比如 333173371++=,编写一个应用程序在屏幕上输出所有水仙花数。

1000以内的完数求解

1000以内的完数求解

1000以内的完数求解一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

编程找出1000以内的所有完数,并按下面格式输出其因子:6its factors are 1,2,3,分析:对于本题来说,只能要依次找出它的因子,就很容易做了,这里可以采用循环的方式,从1开始到n/2就可以了,(设想一下,比方这个数是6,在n/2的范围内就会有1,2,3这三个因子,如果再到4以上去试,它的最小因子i应该从2开始,但是i>n/2,必然会有2*i>n,也就是不会它的因子存在了。

)C语言代码:#include <stdio.h>/**CopyRight@fantasy0707*/#define N 1000 //完数求解范围main(){int i,j,sum; //sum用来存放因子之和for(i=1;i<N;i++) //对1到1000以内的数依次尝试{sum=0; //给sum赋值,同时也是对上一次的值清空for(j=1;j<=i/2;j++) //查找因子{if(i%j==0) // 如果是因子{sum+=j; //把当前的因子累加到sum中}}if(sum==i) //判断是不是完数,即因子之和等于自身{printf("%-5d its factors are: ",i); //是完数,输出for(j=1;j<=i/2;j++) //再次找出这个完数的因子 {if(i%j==0) //输出各个因子printf("%d,",j);}printf("\n");}}}java 代码:public class Test {/*** by: fantasy0707*/public static void main(String[] args) {int i,j,sum; //sum用来存放因子之和for(i=1;i<1000;i++) //对1到1000以内的数依次尝试{sum = 0; //给sum赋值,同时也是对上一次的值清空for(j=1;j<=i/2;j++) //查找因子{if(i%j==0) // 如果是因子{sum+=j; //把当前的因子累加到sum中}}if(sum==i) //判断是不是完数,即因子之和等于自身{System.out.print(i+" its factors are: "); //是完数,输出 for(j=1;j<=i/2;j++) //再次找出这个完数的因子{if(i%j==0) //输出各个因子System.out.print(j+", ");}System.out.println();}}}}程序运行结果:6 its factors are: 1,2,3,28 its factors are: 1,2,4,7,14,496 its factors are: 1,2,4,8,16,31,62,124,248,。

江苏省计算机二级vfp上级考试 程序改错类 共45题附上答案 希望大家好好复习都能过二级

江苏省计算机二级vfp上级考试 程序改错类  共45题附上答案   希望大家好好复习都能过二级

第一套:下列程序是将从键盘上输入的字符(只含数字或字母)按下列规则编成密码后输出:对输入的数字字符用其ASCII码减10;小写字母用该字母的ASCII码前面加星号(*);大写字母用其ASCII码加左右括号,输入其他字符则表示输入结束。

例如,从键盘输入字符串"A12bMc",输出的密码为"(65)3940*108(77)*109"。

要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。

(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。

CLEARcpassword="ckey1="DO WHILE.T.WAIT WIND"请输入字符串……(按[Enter]键结束)"TO ckeyIF BETWEEN(ckey, 0 , 9 )ckey1=ALLT(STR(ASC(ckey)-10))ELSEIF BETWEEN(ASC(ckey),ASC("A"),ASC("Z"))ekey1= ( +ALLT(STR(ASC(ckey)))+ )ELSEIF BETWEEN(ASC(ckey),ASC( a ),ASC( z ))ckey1= * +ALLT(STR(ASC(ckey)+10))ENDIFEXITENDIFENDIFENDIFcpassword=ckey1+cpasswordENDDO?cpassword【答案】(1)第14行改为:ELSE(2)第19行改为:cpassword = cpassword+ckey1【分析】(1)IF语句未结束。

(2)ckey1应接在cpassword后面构成新的cpassword。

第二套:下列程序是将从键盘上输入的字符串(只含数字或字母)按下列规则编成密码后输出:对输入的数字字符用其ASCII码减10;小写字母用该字母的ASCII码前面加星号(*);大写字母用其ASCII码加左右括号,输入其他字符则结束输入。

高级语言程序设计 编写程序题+答案

高级语言程序设计  编写程序题+答案

1已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率=0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

2输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0 && year%100!=0 || year%400==0。

若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。

3编写一个简单计算器程序,输入格式为:data1 op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

4输入n值,输出如图所示矩形。

5输入n值,输出如图所示平行四边形。

6输入n值,输出如图所示高为n的等腰三角形。

7输入n值,输出如图所示高为n的等腰三角形。

8输入n值,输出如图所示高和上底均为n的等腰梯形。

9输入n值,输出如图所示高和上底均为n的等腰空心梯形。

10输入n值,输出如图所示边长为n的空心正六边型。

11输入n值,输出如图所示图形。

12输入n值,输出如图所示图形。

13输入n值,输出如图所示图形。

14输入n值,输出如图所示图形。

15输入n值,输出如图所示图形。

16输入n值,输出如图所示图形。

(例为n=6时)17编写程序,输出如图所示sin(x) 函数0到2π的图形。

18编写程序,在屏幕上输出一个由*号围成的空心圆。

19编写程序,在屏幕上绘制如图余弦曲线和直线。

若屏幕的横向为x轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。

其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。

20编写程序,输出如图所示高度为n的图形。

编程序找出1000之内的所有完数,并按下面格式输出其因子

编程序找出1000之内的所有完数,并按下面格式输出其因子

编程序找出1000之内的所有完数,并按下⾯格式输出其因⼦编程序找出1000之内的所有完数,并按下⾯格式输出其因⼦:6 its factors are 1,2,3答案解析:因⼦:整数a除以整数b(b≠0) 的商正好是整数⽽没有余数,我们就说b是a的因⼦。

整数n除以m,结果是⽆余数的整数,那么我们称m就是n的因⼦。

需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成⽴。

因⼦是不包括⾃⾝的举⼀个例⼦:20 = 4 * 5,则4和5就是20的因⼦,也被称之为因⼦代码⽰例:#include<stdio.h>int main(){int data, fator, sum; /* data表⽰要判断的数,fator表⽰因⼦,sum表⽰因⼦之和*/for (data = 2; data <= 1000; data++){//1是所有整数的因⼦,所以因⼦之和从1开始sum = 1;for (fator = 2; fator <= data / 2; fator++){/* 判断data能否被fator整除,能的话fator即为因⼦因⼦不包括⾃⾝ */if (data % fator == 0){sum += fator;}}// 判断此数是否等于因⼦之和 */if (sum == data){printf("%d its factors are 1, ", data);for (fator = 2; fator <= data / 2; fator++){if (data % fator == 0){printf("%d, ", fator);}}printf("\n");}}return 0;}运⾏截图:。

高级语言程序设计编写程序题+答案

高级语言程序设计编写程序题+答案

1已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率=0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

2输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0 && year%100!=0 || year%400==0。

若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。

3编写一个简单计算器程序,输入格式为:data1 op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

4输入n值,输出如图所示矩形。

5输入n值,输出如图所示平行四边形。

6输入n值,输出如图所示高为n的等腰三角形。

7输入n值,输出如图所示高为n的等腰三角形。

8输入n值,输出如图所示高和上底均为n的等腰梯形。

9输入n值,输出如图所示高和上底均为n的等腰空心梯形。

10输入n值,输出如图所示边长为n的空心正六边型。

11输入n值,输出如图所示图形。

12输入n值,输出如图所示图形。

13输入n值,输出如图所示图形。

14输入n值,输出如图所示图形。

15输入n值,输出如图所示图形。

16输入n值,输出如图所示图形。

(例为n=6时)17编写程序,输出如图所示sin(x) 函数0到2π的图形。

18编写程序,在屏幕上输出一个由*号围成的空心圆。

19编写程序,在屏幕上绘制如图余弦曲线和直线。

若屏幕的横向为x轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。

其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。

20编写程序,输出如图所示高度为n的图形。

B语言程序大全 -

B语言程序大全 -

四、编写程序题及参考答案【4.41】从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。

【4.42】输入一个正整数,要求以相反的顺序输出该数。

例如输入 12345,输出位 54321。

【4.43】编写程序,读入一个整数N;若N为非负数,则计算N到 2×N之间的整数和;若N为一个负数,则求2×N到N之间的整数和。

分别利用 for 和 while 写出两个程序。

【4.44】求解爱因斯坦数学题。

有一条长阶梯,若每步跨 2 阶,则最后剩余 1 阶,若每步跨 3 阶,则最后剩 2 阶,若每步跨 5 阶,则最后剩 4 阶,若每步跨 6 阶则最后剩 5 阶,若每步跨 7 阶,最后才正好一阶不剩。

请问,这条阶梯共有多少阶? 【4.45】一个自然数被 8 除余 1,所得的商被 8 除也余 1,再将第二次的商被 8 除后余 7,最后得到一个商为a。

又知这个自然数被 17 除余 4,所得的商被 17 除余 15,最后得到一个商是a的 2 倍。

编写程序求这个自然数。

【4.46】编写程序,用二分法求一元二次方程 2x3-4x2+3x-6=0 在(10,10)区间的根。

【4.47】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。

请编写一程序,采用割圆法求出π的值,要求精确到小数点之后的第十位。

【4.48】A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。

日上三竿,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

C、D、E 依次醒来,也按同样的方法拿鱼。

编写程序求出他们合伙至少捕了多少条鱼。

【4.49】一辆卡车违犯交通规则,撞人逃跑。

现场三人目击事件,但都没记住车号,只记下车号的一些特征。

甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。

C语言打印出1000以内完数及其因子算法

C语言打印出1000以内完数及其因子算法

{ printf( "%d ", j ); } } printf( "\n" ); } } return 0; } /* VC++6.0 输出的结果是 ================================================= 完数是:6,它的因子是:1 2 3 完数是:28,它的因子是:1 2 4 7 14 完数是:496,它的因子是:1 2 4 8 16 31 62 124 248 ================================================= */ 这个方法在理解起来是最简单的, 但是时间复杂度比较高, 考试的话没有什么问题的哦。
题目要求: 编写程序,输出 1000 以内的所有完数及其因子。所谓完数是指一个整数的值等于它的 因子之和,例如 6 的因子是 1,2,3,而 6=1+2+3,故 6 是一个完数。 /* 求出 1000 以内的所有完数以及它的因子 */ # include <stdio.h> int main( void ) { int i, j, sum; /* 第一个循环,检查从 1 到 1000 中的每一个数字是不是完数 如果是完数,输出完数和它所有的因子 */ for( i = 1; i <= 1000; ++i ) { /* 检查该数字是否是完数 方法:从 1 到 i-1,依次取余,余数为 0,说明是它的公约数, 累加公约数,最后的值如果等于 i,这说明 i 就是完数。 */ sum = 0; for( j = 1; j < i; ++j ) { if( i%j == 0 ) { sum += j; } } if( sum == i ) { printf( "完

C++程序设计及题集(含答案).

C++程序设计及题集(含答案).

本学期《程序设计基础》课程实行上机考核,现将考核有关事项通知如下:(1)考核时间:本学期最后一次上机时间为机试。

(2)考核内容:C++面向过程部分,主要是算法设计与实现。

考题来自本学期布置的作业、部分例题及一些补充的题目。

(3)考试形式:机试前进入机房时,每人随机抽取一道题(同一个班的同学保证不抽到同一题),然后上机编程,调试通过后报告监考人员审核,审核通过后将源程序拷贝到监考人员U盘上,然后可以离开机房。

源程序文件明必须是“学号姓名.cpp”,如“2012211532刘天.cpp”。

(4)考试要求:机试时考试规则同课堂考试一致,不允许带书、纸张等。

不能携带任何可用计算机处理的软件或数据(不允许任何私人携带的U 盘、磁盘或计算器),不能携带任何类型的通讯工具,包括无线电接收器、移动电话。

(5)考试成绩:本次机试成绩将在《程序设计基础》课程成绩中占25%的比重。

(6)其它有关事项由主考教师和监考人员负责处理。

附:考试题集1.利用异或运算对输入的文本进行加密解密输出,用户输入一个文本(字符串,设不超过20个字符),然后输入作为密钥的字符,程序输入加密及解密的字符串。

2.编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。

(提示:对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除次之外都不是闰年)。

3.某大桥按不同型号征收车辆过桥费:自行车免费,摩托车2元,小汽车5元,大客车与货车8元,货柜车12元。

编写一个程序,按车辆的不同型号计算通过该大桥应征的过桥费。

(提示:可以用整数对不同型号的车辆进行编码)4.输入一位同学的考试成绩,若是90~100分,输出“Excellent”,80~89输出“Very good”,70~79输出“Good”,60~69输出“Pass”,60分以下输出“No Pass”。

5.旅行社的订票量小于10张时,航空公司给予10%的折扣;订票量大于或等于10张且小于20张时,航空公司给予15%的折扣;订票量大于或等于20张且小于30张时,航空公司给予30%的折扣;订票量大于或等于30张时,航空公司给予最高的45%的折扣。

c语言3

c语言3

【程序填空】--------------------------------------------------------- 编写程序,输出 1000 以内的所有完数及其因子。

所谓完数是指一个整数的值等于它的因子之和。

例如 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是一个完数。

-------------------------------------------------------*/ #include <stdio.h>void main( ){ int i,j,m,s,k,a[100] ;for(i=1;i<=1000;i++ ){ m=i;s=0;k=0 ;for(j=1;j<m;j++)/***********FILL***********/if(m%j==0){ s=s+j;/***********FILL***********/a[k++]=j;}/***********FILL***********/if(s!=0&&s==m){/***********FILL***********/for(j=0;j<k;j++)printf("%4d",a[j]) ;printf(" =%4d\n",i) ;}}}2.题目:用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根 ,其中 X^n代表X的n次方。

-------------------------------------------------------*/ #include <stdio.h>#include <math.h>void main( ){float x0,x1,x2,fx0,fx1,fx2;do{ printf("Enter x1&x2:");/***********FILL***********/scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;/***********FILL***********/}while(fx1*fx2>0);do{ x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;/***********FILL***********/if(fx0*fx1<0){ x2=x0;fx2=fx0;}else{ x1=x0;fx1=fx0;}/***********FILL***********/}while(fabs(fx0)>=1e-5);printf("x=%6.2f\n",x0);}3.题目:题目:利用指向结构的指针编写求某年、某月、某日是第几天的程序,其中年、月、日和年天数用结构表示。

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

问题的输出:
inti/*当前完数*/
int j/*当前完数的因子*/
初始算法
1.因子和初始化为0
2.遍历当前整数的因子并计算因子和
3.判断是否完数
4.输出完数及其因子
算法细化
步骤2遍历当前整数的因子并计算因子和的细化:
计算整数m所有因子之和的过程如下:
{
if(i%j==0)
sum=sum+j;
}
if(sum==i)
{
printf("\n%5d\n",i);
for(j=1;j<=i/2;j++)
{
if(i%j==0)
printf("%5d",j);
}
}
}
}
程序运行结果如下:
6
1 2 3
28
1 2 4 7 14
496
1 2 4 8 16 31 62 124 248
sum=0;
for(j=1;j<m;j++)
{
if(m%j==0)/*j为m 的因子*/
sum=sum+j;
}
又根据一个数除本身以外的所有因数都小于或等于这个数的一半,可以对上述循环进一步处理,减少循环次数。s Nhomakorabeam=0;
for(j=1;j<=m/2;j++)
{
if(m%j==0)/*j为m 的因子*/
输出1000以内所有的完数和其所有的因子
问题:输出1000以内所有的完数,并输出其所有的因子。完数的定义如下:一个数的所有因子(除其自身)之和恰好等于其自身。
分析:问题的关键为求解一个数的所有因子,并求其和。假设当前的数m,计算其因子的过程,为遍历从1到 m-1所有的数,并判定是否可以整除m。
数据要求
sum=sum+j;
}
流程图
程序代码如下:
#include "stdio.h"
#include "math.h"
#define N 1000/*完数求解范围*/
void main()
{
unsigned int i,j,sum;
for(i=1;i<N;i++)
{
sum=0;
for(j=1;j<=i/2;j++)
相关文档
最新文档