10月26日上机内容:
- 编写一个判断奇偶情况的函数,在主函数中输入1个整数,输出是奇数还是偶数。
【作业解答】
#include
#include
int main()
{
int a;
printf("输入一个数值:");
scanf("%d",&a);
if(fun(a))
printf("%d是奇函数",a);
else
printf("%d是偶函数",a);
}
int fun(int b)
{
if(b%2==0)
return 0;
if(b%2==1)
return 1;
}
- 计算并返回一个整数的立方。
【作业解答】
#include
#include
int main()
{
int a,d;
printf("输入一个数值:");
scanf("%d",&a);
printf("%d的立方为%d",a,fun(a));
}
int fun(b)
{
int c;
c=b*b*b;
return c;
}
- 编写一个判断素数的函数,在主函数输入1个整数,输出是否为素数的信息。
【作业解答】
#include
#include
int main()
{
int a;
printf("输入一个数值:");
scanf("%d",&a);
if(fun(a))
printf("%d是素数",a);
else
printf("%d不是素函数",a);
}
int fun(int b)
{
int i;
for(i=2;i
if(b%i==0)
break;
if(b==i)
return 1;
if(b!=i)
return 0;
}
4、编写两个函数,分别计算2个整数的最大公约数和最小公倍数,在主函数中输入2个整数,计算最大公约数和最小公倍数。
【作业解答】
#include
#include
int main()
{
int a,b,e,f;
printf("输入两个数值:");
scanf("%d%d",&a,&b);
e=funa(a,b);
f=funb(a,b);
printf("最大公约数为%d",e);
printf("最小公倍数为%d",f);
}
int funa(int c,int d)
{
int i,k=1;
for(i=1;i<=c||i<=d;i++)
{
if(c%i==0&&d%i==0)
if(i>k)
k=i;
}
return k;
}
int funb(int c,int d)
{
int j;
for(j=c;j<=c*d;j++)
if(j%c==0&&j%d==0)
break;
return j;
}
- 编写一个判定完数的函数。
一个数如果恰好等于它的因子之和,这个数就是“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。
【作业解答】
#include
#include
int main()
{
int a,d;
printf("输入一个数值:");
scanf("%d",&a);
if(fun(a))
printf("%d是一个完数",a);
else
printf("%d不是一个完数",a);
}
int fun(b)
{
int c=0,i;
for(i=1;i
if(b%i==0)
c+=i;
if(c==b)
return 1;
else
return 0;
}
6、编写一个函数,将一个十进制正整数n,转换成二进制数。在主程序中调用这个函数并输出结果。十进制正整数从键盘输入。
【作业解答】
#include
#include
int main()
{
int a,d;
printf("输入一个十进制数值:");
scanf("%d",&a);
printf("%d转化为二进制结果为%d",a,fun(a));
}
int fun(b)
{
int p = 1, sum = 0, a;
while (1)
{
a = b % 2;
b /= 2;
sum += a * p;
p *= 10;
if (b < 2)
{
sum += b * p;
break;
}
}
return sum;
}



