第一题:
#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; }