2017年885编程题

第一题:

#include <stdio.h>
#include <math.h>
double T(int n,double x){
    if(n==0) return 1;
    else if(n==1) return x;
    else return 2*x*T(n-1,x)-T(n-2,x);
}
int main(){
    FILE *fp=fopen("tdat.txt","w+");
    int i,n;double x;
    scanf("%d%lf",&n,&x);
    double sum;
    for(i=0;i<=n;i++){
        sum=T(i,x);
        fprintf(fp,"%lf\n",sum);
    }
    fclose(fp);
    return 0;
} 

 

第二题:

#include <stdio.h>
#include <math.h>
int main(){
    int num1,num2,num;char ch;
    scanf("%d,%d,%c",&num1,&num2,&ch);
    switch(ch){
        case '+':num=num1+num2;break;
        case '-':num=num1-num2;break;
        case '*':num=num1*num2;break;
        case '/':num=num1/num2;break;
        case '%':num=num1%num2;break;
        default :printf("error\n"); 
    }
    printf("%d%c%d=%d\n",num1,ch,num2,num);
    return 0;
}

 

第三题:

#include <stdio.h>
#define N 5
int main(){
    int a[N][N]={{11,4,2,7,8},{5,9,23,1,25},{3,22,21,18,15},{17,16,24,12,6},{13,10,19,20,14}};
    int i,j,k,r,c,value,count=0;
    for(i=0;i<N;i++){//
        value=a[i][0];
        r=i;c=0;
        for(j=0;j<N;j++){//找出每行的最小值 
            if(value>a[i][j]){
                value=a[i][j];
                r=i;c=j;
            } 
        }
        for(k=0;k<N;k++){//遍历行最小值的所在列,判断是否依然是列的最小值 
            if(value>a[k][c]){
                value=a[k][c];
                r=k;
            }
        }
        if(r==i){//如果最终行没有变化则说明行的最小值也是列的最小值。 
            printf("%d(%d,%d)\n",value,r+1,c+1);
            count++;
        }
    }
    if(count==0){
        printf("NO FIND!\n");
    }
    return 0;
} 

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

posted @ 2020-10-08 00:04  薄眠抛却陈年事。  阅读(266)  评论(0编辑  收藏  举报