作業題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;
}
截圖: