初学者C语言练习题-函数

二、函数

一个C程序有且只有一个主函数,即main函数。

  • C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口
  • 而main前面的int就是主函数的类型.
  • printf()是格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息
  • return是函数的返回值,根据函数类型的不同,返回的值也是不同的。
  • \n是转义字符中的换行符。(注意:C程序一定是从主函数开始执行的)

1、有三座塔,ABC,开始时A上有n 个盘子,大小不等,大在上,小在下,要将盘子从A移到C座,每此只能移一个,输入盘子的数量,输出移动的步骤,利用递归完成?

#include "stdio.h"
int move(char x,char y){
    printf("%c to %c\n", x, y);
}int hanoi(int n,char a,char b,char c){
    if(n==1) move(a,c);
        else 
       {
        hanoi(n-1,a,c,b);
                    move(a,c);
                     hanoi(n-1,b,a,c);
    }
   	return 0;
}
int main(){int n,count;
	scanf("%d", &n);
    count=hanoi(n,'A','B','C');
	return 0;
}

2、求取斐波那契数列的第n项?

#include <stdio.h>int fibo(int t){
 if(t==1) return 0;
else if(t==2) return 1;
 else return fibo(t-1)+fibo(t-2);
}int main(){
	int n,s;
   scanf("%d", &n);
    s=fibo(n);
	printf("%d", s);
	return 0;
}

3、利用递归函数求n!

#include <stdio.h>
int fun(int n){
    if(n<0) return 0;
    else if(n==0||n==1)
    return 1;
    else return (n*fun(n-1));
}
int main({
	int n;
    scanf("%d", &n);
    printf("%d", fun(n));
	return 0;
}

4、输入正整数,转化为二进制输出

#include<stdio.h>
void dectobin(int n);int main(){
    int n;
    scanf("%d",&n);
    dectobin(n);
    return 0; 
void dectobin(int n)
{
    int i=0,a[32];
    while(n>0)
    {
        a[i]=n%2;
        i++;
        n=n/2;
    }
    for(i--;i>=0;i--)
    printf("%d",a[i]);
}

5、返回number逆序数

#include<stdio.h>int reverse(int n)
{
    int i,m=0;
        while(n/10!=0)
         {
 i=n%10;
 n=n/10; m=m*10+i;
    }
       if(n!=0)
    {
m=m*10+n;
}
   return m;
}int main(){
    int n;
	scanf("%d",&n);
	printf("%d",reverse(n));
return 0;
}

6、给定俩个正整数m,n,求最小公约数

#include "stdio.h"
int fun(int m,int n)
{
    int r;
    if(m==n) return m;
    else 
    while((r=m%n)!=0)
    {
        m=n;
        n=r;
    }
    return n;
}
int main()
{
    int m,n,i;
    scanf("%d %d",&m,&n);
    i=fun(m,n);
    printf("%d",i);
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大雄是个程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值