作业题1:
任意输入一个整数如 123456(或-123456),逆序输出;654321(或-654321)
我的程序:
#include<stdio.h>
int main(void)
{
int t;
printf("输入一个数字:");
scanf_s("%d", &t);
if (t<0)
{
printf("-");
t=-1*t;
}
while (t != 0)
{
printf("%d", t % 10);
t /= 10;
}
return 0;
}
程序运行效果截图:
-----------------------分割线-----------------------
作业题2:
费式数列(Fibonacci)的前两项为1、1,之后的每一项为前两项之和,即Fn =Fn-1 +Fn-2,费式数列的前10项为:1 、1、2、3、5、8、13、21、34、55。输入一个正数数n ( n <= 40 ),计算出费式数列的第n项之值并输出。要求:利用递归函数
#include<stdio.h>
int fibo(int n)
{
int f1=1,f2=1,fn;
if(n<=2)
return 1;
else
for(int i=3;i<=n;i++)
{
fn=fibo(n-1)+fibo(n-2);
} return fn;
}
void main()
{
int n;
printf("请输入N的值:");
scanf("%d",&n);
printf("第N项的值为:%d\n",fibo(n));
}
截图:
-----------------------分割线-----------------------
作业题3:
编写程序,输入一个正整数N,如果N 是质数则输出Y,否则输出N。:要求:利用自定义函数P(N)检查N 是不是质数
程序:
#include<stdio.h>
#include<math.h>
char P(int x);
void main()
{
while(1)
{
int x;
printf("请输入一个正整数,如果N 是质数则输出Y,否则输出N:");
scanf("%d",&x);
printf("%c\n",P(x));
}
}
char P(int x)
{
int i;
char a='N',b='Y';
if (x<0)
{
printf("请重新输入:");
return NULL;
}
else if(x==0||x==1)
return a;
else
for(i=2;i<=sqrt((double)x);i++)
{
if(x%i==0)
{
return a;
}
}
return b;
}
截图: