2019-1-17王志颖 c语言作业
問題:遞歸的終止條件和返回值判斷
?
/*
?求得兩個整型數中較大的那一個
?*/
#include<stdio.h>
int bigger_than(int a,int b)
{
?? ?if(a>b)
?? ?{
?? ??? ?return a;
?? ?}
?? ?else
?? ?{
?? ??? ?return b;
?? ?}
}
int main(void)
{
?? ?int i,j;
?? ?printf("請輸入不同的兩個整數:");
?? ?scanf("%d %d",&i,&j);
?? ?printf("%d更大\n",bigger_than(i,j));
?? ?return 0;
}
/*
?返回給定正整數的倒序數。如給定的是1234,返回4321
?*/
#include<stdio.h>
int reverse_order(int a);
int main(void)
{?? ?
?? ?int n;
?? ?printf("請輸入一個正整數:");
?? ?scanf("%d",&n);
?? ?printf("倒序是:%d\n",reverse_order(n));
?? ?return 0;
}
int reverse_order(int a)
{
?? ?int i,b,c=0;
?? ?for(i=0;;i++)
?? ?{
?? ??? ?b=a%10;
?? ??? ?a=a/10;
?? ??? ?c=(c+b)*10;
?? ??? ?if(a/10==0)
?? ??? ??? ?break;
?? ?}
?? ?c+=a;
?? ?return c;
}
/*
?用遞歸求得一個整型數的階乘
*/
#include<stdio.h>
int Factorial(int a);
int main(void)
{
?? ?int n;
?? ?printf("請輸入一個正整數:");
?? ?scanf("%d",&n);
?? ?printf("%d的階乘是:%d\n",n,Factorial(n));
?? ?return 0;
}
int Factorial(int a)
{
?? ?int c;
?? ?if(a==1)
?? ??? ?return 1;
?? ?c=a*Factorial(a-1);
?? ?return c;
}
?
/*
?判斷一個整數是否在某兩個整數之間
*/
#include<stdio.h>
int number(int a,int b,int c);
int main(void)
{
?? ?int x,y,z,n;
?? ?printf("請輸入3個整數:");
?? ?scanf("%d %d %d",&x,&y,&z);
?? ?n=number(x,y,z);
?? ?if(n)
?? ?
?? ??? ?printf("%d在%d與%d之間\n",x,y,z);
?? ?else
?? ??? ?printf("%d不在%d與%d之間\n",x, y,z);
?? ?
?? ?return 0;
}
int number(int a,int b,int c)
{
?? ?if((a>b&&a<c)||(a<b&&a>c))
?? ??? ?return 1;
?? ?else?? ?
?? ??? ?return 0;
}
?
轉載于:https://www.cnblogs.com/wzyhlj/p/10284189.html
總結
以上是生活随笔為你收集整理的2019-1-17王志颖 c语言作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欧几里德算法(自写理解)
- 下一篇: [bzoj3676] [APIO2014