答案:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
【程序7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.
【程序8】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
【程序9】
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。
【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
【程序11】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
【程序12】
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
【程序13】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:
1.int 类型要看机器,如果是16位机,就是2个字节,32位机就是4个字节,char占1个字节,float占4个字节,double占8 byte2.结果是-24.分析:=的结合性是从右到左,所以从右到左算,先算a*a=36;再算a-=a*a就是a-=36即a=a-36则a=-30,再算a+=a-=a*a即a+=-30也就是a=a+(-30)=-243.D,puts函数只有一个参数,就是字符串s,puts是将一个字符串s写到标准输出文件stdout,这是I/O部分的,所以A是错的;B错的,因为%s输出字符串则应该是字符串名,而不是a[],但写a还是不一定正确,因为字符串应该以'\0'结束,不知道a[]最后一个字符是否是'\0';C显然不对4.if的条件不满足,执行else语句输出$$$;5.void main(){ int sum,i; for(i=0;i<=100;i++) if(i%2) sum+=i; /*%是求模,不能被2整除,i为奇数*/ printf(“sum=%d\n",sum);}
Private Sub Form_Load()
Dim big, middle, small, result, number As Integer
big = 1
middle = 1
small = 1
For small = 1 To 200
For middle = 1 To 50
For big = 1 To 34
result = 3 * big + 2 * middle + small / 2
number = big + middle + small
If result = 100 And small <> 1 And number = 100 Then
Print big & Chr(32) & middle & Chr(32) & small
End If
Next
Next
Next
End Sub
用VB编的,上题的解答。
做个乘法表了或者是菱形或者反正就是想着就做了,做个小游戏了,等等,好玩就行了啊加油啊,我也是这样玩的,就是我有本书参考一下,课后题也不错啊,
http://www.examlink.com/c/html/Computer/dengji/moni/C/20090327/37026_2.html试题一(28分,每小题4分) 解答下列各小题,把解答写在答卷的对应栏内(1)试写出下列数学表达式的C语言表达式(2)满足关系式’A’≤ch≤’Z’的C语言表达式是A、(65≤ch)&&(ch≤90) B、ch>=’A’||’Z’>=ch C、’A’≤ch≤’Z’ D、!(ch<’A’||’Z’>ch)(3)设a=1;b=2;c=3;x=0;执行下面程序段后x的值是if (ac) x+=++x; else x+=++x; }else x=3;(4)设有如下定义:int a[ ][3] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 };int (*p)[3]= a; 请写出printf(“%d\n”, *(*(p+ 1 ) +2 )); 定位的行和列,以及输出结果。(5)下面的程序运用字符串指针,输出结果是 #include main(){ char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"}; unsigned c; c=strcmp(language[1],language[3]); printf("%d\n",c);}A)0 B)正数 C)负数 D)程序错(6)下面的程序含有宏定义,它的运行结果是 #include "stdio.h"#define SQR(x) x*xvoid main(){ int a=100,k=1,m=2;a/=SQR(k+m)/ SQR(k+m); printf(“%d\n”,a);}(7)设下列括号内的数都是二进制整数,请写出位运算的结果(分别用二进制和十进制数表示)。① (10010101)&(11110000)② (00011101)|(11110000) ③ (10101010)<<2 ④ ~(10110101) 试题二(12分)读程序,把程序(或程序段)的输出结果写在答题纸的对应栏内(1)[程序2.1]#include main(){ int a[]={0,10,20,30,}; int n=0, *p; p=a+1; n+=*(p++); n+=(*p)++; n+=*(++p); n+=++(*p); printf(“n=%d, a[]=%d, %d, %d, %d\n”, n, a[0], a[1], a[2], a[3]);}(2) [程序2.2] int sumadd( int func, int data ){static int sum;switch ( func ){case 0 : sum = data; break;case 1 : sum += data; break;case 2 : sum -= data; break;}return sum;}main(){ sumadd( 1, 10 );printf( “%d”, sumadd(2,10));sumadd( 2, 20 );printf( “%d”, sumadd(2,10));}我给你一些(简单的)
1。输入一个三位整数,分离出个位、十位、百位并输出。
2.输入任意两个数,交换顺序后输出。
3.输入一个年份,判断并输出是否是闰年。
4。5个人分椰子:第1个人将椰子平均分成5堆,剩下一个给猴子,自己藏掉1堆;第2个人将剩下的混合后平均分成5堆,剩下一个给猴子……最后一个人也将剩下的混合后平均分成5堆,刚好剩下一个给猴子。求解共有至少多个椰子。
一道关于循环控制的编程题
100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮一担。
1.当大马、中马、小马每种不能少于一匹,有多少种组合法?
2.当可以缺少一种或缺二种,又有多少种组合法?
3.用while求第一种组合法。
4.用do-while求2组合法。
5.用三重或二重for循环求2种组合法。
经典编程100例 http://jythoner.javaeye.com/blog/319749都是很基础的编写一个计算器——新手就行,只要会条件选择和switch
要求
输出:输入一个算式(如3+6):
输入:3+6
输出:=9
输出:还要来一个(y/n):
输入:n
程序结束
其中要有纠错机制
例如不能允许这样的事情发生: 3/0 9%0 9.2%2(这样的用强制转换转换为整形再运算)
如果不会用循环就用goto语句
自己编译,先别看下面的答案
上一个:求c语言表达式大全
下一个:C语言的高级程序