zoukankan      html  css  js  c++  java
  • 2019年江苏大学885编程大题

     第一题:

    #include <stdio.h>
    double fun(double x,int n){
        if(n==0) return 1;
        else if(n==1) return x;
        else return x*fun(x,n-1);
    }
    int main(){
        printf("请输入实数x和整数n,计算x的n次方:");
        double x,s;
        int n;
        scanf("%lf%d",&x,&n); 
        s=fun(x,n);
        printf("x=%lf,n=%d时s=%lf
    ",x,n,s);
        return 0;
    } 

    第二题:

    #include <stdio.h>
    int main(){
        int card[53];//1-52代表卡片
        int i,j;
        for(i=1;i<=52;i++) card[i]=1;
        for(i=2;i<=52;i++){
            for(j=2;j<=52;j++){
                if(j%i==0){
                    if(card[j]==0) card[j]=1;
                    else card[j]=0;
                }
            }
        }
        printf("正面朝上的扑克是:
    ");
        for(i=1;i<=52;i++){
            if(card[i]==1) printf("%5d",i);
        }
        return 0; 
    }

    第三题:

    #include <stdio.h>
    #include <math.h>
    int isprism(int n){
        int i,j,k=sqrt(n);
        for(i=2;i<=k;i++){
            if(n%i==0) break;
        }
        if(i>k) return 1;
        else return 0;
    }
    int main(){
        int i,j,k=0,a[300]={0};
        FILE *fp;
        for(i=2;i<=300;i++){
            if(isprism(i)) a[k++]=i;
        }
        if((fp=fopen("prime.txt","w+"))==NULL){
            printf("cannot open the file:
    ");
            return 0; 
        }
        //写入文件; 
        for(i=0;i<k;i++){
            fprintf(fp,"%5d",a[i]);
        }
        int max1,max2,count=0;//记录最大双胞胎数以及计数有多少对;
        for(i=0;i<k-1;i++){
            if(a[i+1]-a[i]==2){
                count++;
                max1=a[i];
                max2=a[i+1];
            }
        }
        printf("一共有%d对双胞胎数,最大的双胞胎数是%d和%d
    ",count,max1,max2);
        fclose(fp); 
        return 0;
    }

    第三题参考答案:

    #include <stdio.h>
    #include <stdlib.h>
    #define MAX(a,b) ((a)>(b)?(a):(b))
    int isPrime(int num){
        int i;
        if(num<2) return 0;
        for(i=2;i<=(num/2);i++){
            if(num%i==0) return 0;
        }
        return 1;
    }
    int main(){
        FILE *fp=fopen("prime2.txt","w+");
        int sval=2,eval=300,cnt,cv,prime=3,max1,max2;
        cnt=0;
        cv=sval;
        for(;cv<=eval;){
            if(isPrime(cv)){
                fprintf(fp,"%d
    ",cv);
                if(cv-prime==2){
                    printf("%d&%d
    ",prime,cv);
                    max1=prime;
                    max2=cv;
                    cnt++;//数量+1; 
                }
                prime=cv;
            }
            if(cv&1) cv+=2;
            else cv++;
        }
        printf("总对数有:%d
    ",cnt);
        printf("最大的双胞胎数为:%d&%d",max1,max2);
        fclose(fp);
        return 0;
    } 

     收录于《考研计算机885复习》

    欢迎各位网友批评指正! 

  • 相关阅读:
    LeetCode(13) - Roman to Integer
    LeetCode(12) - Integer to Roman
    LeetCode(11) - Container With Most Water
    LeetCode(10) - Regular Expression Matching
    asp.net Mvc 使用uploadify 上传文件 HTTP 302 Error
    DbEntry 4.2 建立关系时的一些问题
    Log4Net 日志文件分类保存
    JqGrid 隐藏水平滚动条完美解决方案
    WebSocket使用SuperWebSocket结合WindowsService实现实时消息
    LigerUI ligerComboBox 下拉框 表格 多选无效
  • 原文地址:https://www.cnblogs.com/byczyz/p/13772087.html
Copyright © 2011-2022 走看看