c语言编写的一些小程序

      

                                  

  一、输入一个整数,然后以倒序的方式输出来。

 

#include<stdio.h>

int order(int a){
 if(a<=0){
       return 0;
 }
 while((a/10)!=0){
  printf("%d\t",a%10);
  a = a/10;
 }
 printf("%d\n",a);

 return 1;
}

void main(){
 
 int a = 0;
 printf("请输入一正整数:");
 scanf("%d",&a);
 printf("倒序的结果是:\n");
 order(a);
 
}

  下图是一个例子:

                                     

二、求一个正整数的阶乘。

 

int factorial(int factor){

 if(factor/2>0){
         return factor*factorial(factor-1);
 }else{
         return 1;
 }
}

void main(){

 int a = 0;
 printf("请输入一个数:");
 scanf("%d",&a);
 int b = factorial(a);
 printf"%d的阶乘是:%d\n",a,b);
   
}
输出结果如下图:

                                                                                                                 

 三、输入任意个正整数,以-1结束输入。求出输入的最大值和最小值。

void V(){

 cout<<"请输入任意几个正整数,以-1结束:"<<endl;

 int count = 0,max=0,min=0;
 int digits = 1;

 while (digits!=-1){
    scanf("%d",&digits);
    if(digits>max){
           max = digits;
    }
    if(digits<min && digits>=0){
           min = digits;
    }
 }


 printf("最大的数是:%d\n最小的数是:%d\n",max,min);

}

void main(){
 
 V();
 
}

小作者输入的数字如下截图:

 

 

四、输入两个数,求最大的公约数和最小的公倍数。(说明:如果有零则最大公约数等于最小公倍数等于零)

void approximate(int a,int b,int &max,int &min){

 
 if(a<=0 || b<=0){
  return;
 }

 if(a<b){
       int temp;
    temp = a;
    a = b;
    b = temp;
 }
 if(a%b==0){
       max = b;
    min = a;
    return;
  }
 
 for(int i=b-1;i>0;i--){
  if((a%i)==0 && (b%i)==0){
   max = i;
   int n = 2;
   while(i*n){
    if((i*n)%a==0 && (i*n)%b==0){
                       min = i*n;
        return;
    }
    n++;
   }
  }
 }
 
}
void main(){
 printf("请输入两个数,得出最大的公约数:\n");
 
 int a = 0,b=0,max=0,min=0;
 scanf("%d",&a);
 scanf("%d",&b);
    approximate(a,b,max,min);
 
 printf("最大公约数是:%d\n最小公倍数是:%d\n",max,min);
}

下面是运行的结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值