1.编写函数 fun(n),n 是一个三位整数,判断其是否水仙花数,是返回 1,否返回 0.编写 main 函数,输入一个数 num,调用 fun(num)函数,输出判断结果。
#include<stdio.h>
int fun (int n);
void main()
{
int num,i;
printf("请输入一个三位数的整数:\n");
scanf("%d",&num);
while(num/100<1 || num/100>9)
{
printf("输入数据错误,请重新输入:\n");
scanf("%d",&num);
}
i=fun(num);
if(i==1)
printf("该三位数是水仙花数。\n");
else
printf("该三位数不是水仙花数。\n");
}
int fun(int n)
{
int a,b,c,d;
a=n/100;
c=n%10;
b=(n-100*a)/10;
d=a*a*a+b*b*b+c*c*c;
if(n==d)
return 1;
else
return 0;
}
2.编写函数 ss(n), 判断 n 是否为素数,是返回 1,否返回 0。编写 main函数,输入一个数 num,调用ss(num)函数,并输出判断结果。
#include<stdio.h>
int ss (int n);
void main()
{
int num,i;
printf("请输入一个整数:\n");
scanf("%d",&num);
if(num==1)
printf("1不是素数\n");
else
{
i=ss(num);
if(i==1)
printf("该数是素数。\n");
else
printf("该数不是素数。\n");
}
}
int ss(int n)
{
int a,b=0;
for(a=1;a<n;a++)
{
if(n%a==0)
b++;
}
if(b==1)
return 1;
else
return 0;
}
3.编写一个函数 fun(n),计算 n!,并编写 main 函数测试,在main 函数中输入 num,调用 fun(num),输出计算的结果。
#include<stdio.h>
int fun (int n);
void main()
{
int num,i;
printf("请输入一个整数:\n");
scanf("%d",&num);
i=fun(num);
printf("整数%d的阶乘为:",num);
printf("%d\n",i);
}
int fun(int n)
{
int a,b=1;
for(a=1;a<=n;a++)
b=b*a;
return b;
}
某数列为 K(n)的定义为

用递归的方法求该数列的第 6 项k(6)。
#include<stdio.h>
void main()
{
int num,a,b=1;
printf("请输入项数:\n");
scanf("%d",&num);
for(a=0;a<=num;a++)
{
if(num==1)
b=1;
if(num%2==0)
b=b*2;
if(num%2!=0)
b=b*3;
}
printf("第%d项的数值为:K(%d)=",num,num);
printf("%d\n",b);
}
5.在一个一维数组 a 中存放 10 个正整数, 求其中所有的素数。(用数组元素作为函数的实际参数)
#include<stdio.h>
void main()
{
int a[10],i,b,c=0;
printf("请输入十个正整数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("其中素数有:");
for(i=0;i<10;i++)
{
if(a[i]!=1)
{
for(b=1;b<a[i];b++)
{
if(a[i]%b==0)
c++;
}
if(c=1)
printf("%d",a[i]);
}
}
}
这篇博客包含四个编程问题的解决方案:1) 判断三位数是否为水仙花数;2) 判断一个数是否为素数;3) 计算阶乘;4) 使用递归方法求解特定数列的第6项。每个问题都有详细的函数实现和main函数调用示例,便于理解与实践。
947

被折叠的 条评论
为什么被折叠?



