(2)程序改错题
下列程序的功能是利用自定义函数计算一无符号的整数各位数字的乘积。
#include
unsigned f(unsigned num) {
unsigned k=0; do {
k*=num/10; num/=10; }while(k); return k; }
void main() {
int x;
printf(“input x=:\\n”); scanf(“%d”, x); printf(“%d”, f(x)); }
2.一般编程题
编程题1 写一个判断水仙数的函数,在主函数输入一个整数,输出是否是水仙数的信息。
编程题2 编写程序求:1*1*1+2*2*2+3*3*3+4*4*4+5*5*5
提示:主函数用来现实结果,f1( )函数用来求一个数的立方,f2( )函数用来求和。 #include
int f2(int m)
{ …… }
void main() {
…… }
编程题3 定义两个带参数的宏,将两个参数的值相加和相减,并写出程序,输入两个数作为使用宏时的实参。输出相加和相减后的和与差。(这一题自已先看书学着做) 编程题4
编程输出2到10000之间的所有完数。所谓完数是指因子之和与它本身相等的数。如6=1+2+3,6是一个完数。
要求:定义函数 factor(m) 判断m是否为完数;由主函数调用它,来对所有2到10000之间的所有数进行判断。 #include
int i,s=0; …… }
void main() {
int i,m,sum; …… }
3.较难编程题
编程题1 用函数调用实现求两个数的最大公因子和最小公倍数
编程题2 用函数的方法实现1+2+3+...+n并将其中素数去除之和,子函数判断一个是不是素数,主函数实现除素数之外1+2+3+...+n的和。 #include
int isprime (int number) { …… }