zoukankan      html  css  js  c++  java
  • 实验四

    实验任务1:这个应用中,一元二次方程的根,不能设计成以函数返回值的方式返回给主调函数。

    实验任务2:

    #include <stdio.h>
    long long fac(int n);  // 函数声明 
    
    int main() {
        int i,n;
        
        printf("Enter n: ");
        scanf("%d", &n);
        
        for(i=1; i<=n; ++i) 
            printf("%d! = %lld
    ", i, fac(i)); 
        
        return 0;
    }
    
    // 函数定义 
    long long fac(int n) {
        static long long p = 1;
        printf("p = %lld
    ", p);
        p = p*n;
        
        return p;
    }

    // 练习:局部static变量特性 
    
    #include<stdio.h>
    int func(int, int);
    
    int main() {
        int k=4,m=1,p1,p2;
        
        p1 = func(k,m) ; 
        p2 = func(k,m) ;
        printf("%d,%d
    ",p1,p2) ;
        
        return 0;    
    }
    
    int func(int a,int b) {   
        static int m=0,i=2;
        
        i += m+1;
        m = i+a+b;  
        
        return (m);
    }

    static变量只需赋值一次,以后调用不需要再次赋值。

    实验任务3:

    //寻找两个整数之间的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。
    // 例如,输入6和21,则输出为:7 11 13 17 19。
    
    #include <stdio.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=2;   
            for(i=2;i<j;i++)
                if(j%i==0) {  
                   flag=0;
                   break;
            }
            if(flag!=0) 
               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;
    }

    实验任务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, f);
        }
        
        return 0;
    }
    
    long long fun(int n){
        long long a;
        if(n==1)
            a=1; 
        else
            a=2*(fun(n-1)+1)-1;
            
       
        return a;
    }

    实验任务5:

    #include <stdio.h>
    
    void draw(int n, char symbol);  // 函数声明 
    
    #include <stdio.h> 
    int main() {
        int n, symbol;
        
        while(scanf("%d %c", &n, &symbol) != EOF) {
            draw(n, symbol);  // 函数调用 
            
            printf("
    ");
        }
        
        return 0;
    } 
    
    void draw(int n,char symbol) {
        int i,j,k;
        for(i=0; i<=n; i++) {
            for(j=0; j<n-i; j++)
                printf(" ");
            for(k=0; k<2*i-1; k++)
                printf("%c",symbol);
            printf("
    ");
        }
    
    }

  • 相关阅读:
    ros 使用笔记
    GLog 初始化说明
    面试-重写基础功能函数
    C++后台服务崩溃堆栈日志
    Linux下FTP服务器(vsftpd)配置:
    Windows 命令行解析工具(getopt)
    C/C++ 宏技巧
    Sublime Keymap 设置
    C++程序设计的技巧-Pimple的使用
    TCP的长连接与短连接
  • 原文地址:https://www.cnblogs.com/ruanfandd/p/14057103.html
Copyright © 2011-2022 走看看