一、前言
提示:以下是博主自己写的代码,仅供参考,欢迎有兴趣的朋友们留言讨论呀
二、正文
1.第一题
#include<stdio.h>
#include<stdlib.h>
// 切比雪夫多项式
double T(int n, double x);
void main()
{
int n, i;
double x;
FILE* fp;
// 打开或创建文件
if (!(fp = fopen("tdat.txt", "a+")))
{
printf("cannot open the file!\n");
exit(0);
}
// 输入
while (1)
{
printf("请输入自然数n和实数x:");
scanf("%d%lf", &n, &x);
if (n >= 0)
{
break;
}
}
for (i = 0; i <= n; i++)
{
fprintf(fp, "T%d(%lf)=%lf\n", i, x, T(i, x));
}
// 关闭文件
if (fclose(fp))
{
printf("cannot close the file!\n");
}
}
double T(int n, double x)
{
if (n == 0)
{
return 1;
}
if (n == 1)
{
return x;
}
if (n > 1)
{
return 2 * x * T(n - 1, x) - T(n - 2, x);
}
}
运行结果示例:
手写版:
2. 第二题
#include<stdio.h>
void main()
{
float x, y;
char op;
printf("请依次输入x,运算符,y:");
scanf("%f%c%f", &x, &op, &y);
printf("\n");
switch (op)
{
case '+':
printf("%.2f\n", x + y);
break;
case '-':
printf("%.2f\n", x - y);
break;
case'*':
printf("%.2f\n", x * y);
break;
case'/':
printf("%.2f\n", x / y);
break;
case'%':
printf("%d\n", (int)x%(int)y);
break;
default:
printf("error!\n");
break;
}
}
运行结果示例:
手写版:
3.第三题
#include<stdio.h>
#define N 5
int a[N][N];
// 判断是否是列最小,是则返回1,否则返回0
int judge_y(int x, int y);
// 判断是否是行最小,是则返回1,否则返回0
int judge_x(int x, int y);
void main()
{
int flag = 0;
// 输入
printf("初始化矩阵:\n");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
scanf("%d", &a[i][j]);
}
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (judge_x(i, j) && judge_y(i, j))
{
printf("%d(%d,%d)\n", a[i][j], i + 1, j + 1);
flag = 1;
}
}
}
if (flag == 0)
{
printf("NO FIND!\n");
}
}
int judge_x(int x, int y)
{
for(int j=0;j<N;j++)
if (a[x][y] > a[x][j])
{
return 0;
}
return 1;
}
int judge_y(int x,int y)
{
for (int i = 0; i < N; i++)
{
if (a[x][y] > a[i][y])
{
return 0;
}
}
return 1;
}
示例数据:
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
运行结果示例:
手写版: