函数小问题解决

把一个偶数分解成两个质数的和
#include<stdio.h> int isPrime(int num){ if(num == 1 || num ==2 ){ return 1; } else{ for(int i =2 ; i <num;i++){ if(num % i == 0){ return 0; } else{ return 1; } } } } int isEven(int n){ if(n % 2 == 0){ return 1; }else{ return 0; } } void main(){ //把一个偶数分解成两个质数的和 int n; scanf("%d",&n); if(isEven(n)){ for(int i=1; i < n; i++){ if(isPrime(i) && isPrime(n-i)){ printf("%d = %d + %d \n ",n,i,n-i); } } } else{ printf("input is not a even number"); } }

 

#include<stdio.h>
int count(int n){
  if(n / 10 == 0){ //一位数返回1
      return 1;
  } else{
      return count(n /10) +1; //123的位数=12的位数+1
  }
}

void main(){
    //把一个偶数分解成两个质数的和设计1个函数,判断整数有多少位
    int n;
    scanf("%d",&n);
    printf("%d",count(n));

}

 

#include<stdio.h>
int sum(int n){
  if(n== 1){ //关键是找到结束条件
      return 1;
  } else{
      return sum(n-1) +n; //关键是找到这个递归条件
  }
}

void main(){
    //实现1+2+3+4+5+6+....+100的递归函数
    printf("%d",sum(100));
}

 

posted @ 2019-08-03 09:28  Coding_Changes_LIfe  阅读(165)  评论(0编辑  收藏  举报