实验4

#include <stdio.h>
long long fun(int n);
   // 函数声明 

int main() {
    int n;
    long long f;
    
    while(scanf("%d", &n) != EOF) {
        f = fun(n);  // 函数调用 
        printf("n = %d, f = %lld\n", n, f);
    }
    
    return 0;
}

// 函数定义
long long fun(int n){
    if(n==1) return 1;
    else return 2*fun(n-1)+1;
} 
// 补足。。。

 

 

 

 

22

 

 

//寻找两个整数之间的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。
// 例如,输入6和21,则输出为:7 11 13 17 19。

#include <stdio.h>
#include <stdlib.h> 
#define N 1000
int fun(int n,int m,int bb[N]) {
    int i,j,k=0,flag;
    
    for(j=n;j<=m;j++) {
        flag=1;   
        for(i=2;i<j;i++)
            if(j%i==0) {  
                   flag=0;
                   break;
        }
        if(flag) 
           bb[k++]=j;
    }
    return k;
}

int main(){
    int n=0,m=0,i,k,bb[N];
    
    scanf("%d",&n);
    scanf("%d",&m);
    
    for(i=0;i<m-n;i++)
        bb[i]=0;
        
    k=fun(n,m,bb); 
    
    for(i=0;i<k;i++)
        printf("%4d",bb[i]);
        
    return 0;
}

 

#include <stdio.h>
void dec2n(int x, int n);  // 函数声明 

int main() {
    int x;
    
    printf("输入一个十进制整数: ");
    scanf("%d", &x);
    
    dec2n(x, 2);   // 函数调用: 把x转换成二进制输出 
    dec2n(x, 8);     // 函数调用: 把x转换成八进制输出
    dec2n(x, 16);    // 函数调用: 把x转换成十六进制输出
    
    return 0;
}

// 函数定义
// 功能: 把十进制数x转换成n进制,打印输出 
// 补足函数实现 
void dec2n(int x, int n) {
    int a[100],ans=0;
    for(int i=0;x!=0;i++){
        int s=x%n;
        a[i]=s;
        x=x/n;
        ans++;
    }for(int i=ans;i>=1;i--){
    if(a[i-1]==10)printf("A");  
    else if(a[i-1]==11)printf("B");
    else if(a[i-1]==12)printf("C");
    else if(a[i-1]==13)printf("D");
    else if(a[i-1]==14)printf("E");
    else if(a[i-1]==15)printf("F");
    else if(a[i-1]<=9)
    printf("%d",a[i-1]);    }
    printf("\n");
}

 

posted @ 2021-04-29 23:31  xuany1  阅读(22)  评论(2编辑  收藏  举报