mirror of
https://github.com/renbaoshuo/202401-programming-assignments.git
synced 2024-11-23 09:38:42 +00:00
【实践课内】10.函数1
This commit is contained in:
parent
1fbe983580
commit
e2c8cfafdb
7
【实践课内】10.函数1/6-1 输出星期名.c
Normal file
7
【实践课内】10.函数1/6-1 输出星期名.c
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
const char WEEKDAY[7][4] = {"日", "一", "二", "三", "四", "五", "六"};
|
||||||
|
|
||||||
|
void ShowDayWeek(int dow) {
|
||||||
|
if (dow < 0 || dow >= 7) return;
|
||||||
|
|
||||||
|
printf("%s", WEEKDAY[dow]);
|
||||||
|
}
|
93
【实践课内】10.函数1/6-1 输出星期名.md
Normal file
93
【实践课内】10.函数1/6-1 输出星期名.md
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
# 6-1 输出星期名
|
||||||
|
|
||||||
|
请编写函数,根据星期数输出对应的星期名。
|
||||||
|
|
||||||
|
#### 函数原型
|
||||||
|
|
||||||
|
```
|
||||||
|
void ShowDayWeek(int dow);
|
||||||
|
```
|
||||||
|
|
||||||
|
说明:参数 dow 为星期数。若 dow 在 0 ~ 6 范围内,则输出“日”、“一”、“二”、...、“六”,否则不输出任何信息。
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><b>星期值</b></td>
|
||||||
|
<td align="center"><b>星期名</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">0</td>
|
||||||
|
<td align="center">日</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">1</td>
|
||||||
|
<td align="center">一</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">2</td>
|
||||||
|
<td align="center">二</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">3</td>
|
||||||
|
<td align="center">三</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">4</td>
|
||||||
|
<td align="center">四</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">5</td>
|
||||||
|
<td align="center">五</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">6</td>
|
||||||
|
<td align="center">六</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
#### 裁判程序
|
||||||
|
|
||||||
|
```c
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void ShowDayWeek(int dow);
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int w;
|
||||||
|
scanf("%d", &w);
|
||||||
|
ShowDayWeek(w);
|
||||||
|
putchar('\n');
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 你提交的代码将被嵌在这里 */
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 输入样例 1
|
||||||
|
|
||||||
|
```in
|
||||||
|
3
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 输出样例 1
|
||||||
|
|
||||||
|
```out
|
||||||
|
三
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 输入样例 2
|
||||||
|
|
||||||
|
```in
|
||||||
|
9
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 输出样例 2
|
||||||
|
|
||||||
|
```out
|
||||||
|
|
||||||
|
|
||||||
|
```
|
15
【实践课内】10.函数1/6-2 三整数最大值.c
Normal file
15
【实践课内】10.函数1/6-2 三整数最大值.c
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
int IntMax3(int x, int y, int z) {
|
||||||
|
if (x > y) {
|
||||||
|
if (x > z) {
|
||||||
|
return x;
|
||||||
|
} else {
|
||||||
|
return z;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (y > z) {
|
||||||
|
return y;
|
||||||
|
} else {
|
||||||
|
return z;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
41
【实践课内】10.函数1/6-2 三整数最大值.md
Normal file
41
【实践课内】10.函数1/6-2 三整数最大值.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# 6-2 三整数最大值
|
||||||
|
|
||||||
|
请编写函数,求三个整数的最大值。
|
||||||
|
|
||||||
|
#### 函数原型
|
||||||
|
|
||||||
|
```c
|
||||||
|
int IntMax3(int x, int y, int z);
|
||||||
|
```
|
||||||
|
|
||||||
|
说明:参数 x、y 和 z 为三个整数,函数值为三个整数中的最大值。
|
||||||
|
|
||||||
|
#### 裁判程序
|
||||||
|
|
||||||
|
```c++
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int IntMax3(int x, int y, int z);
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int a, b, c, d;
|
||||||
|
scanf("%d%d%d", &a, &b, &c);
|
||||||
|
d = IntMax3(a, b, c);
|
||||||
|
printf("%d\n", d);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 你提交的代码将被嵌在这里 */
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 输入样例
|
||||||
|
```in
|
||||||
|
15 36 -27
|
||||||
|
|
||||||
|
```
|
||||||
|
#### 输出样例
|
||||||
|
```out
|
||||||
|
36
|
||||||
|
|
||||||
|
```
|
11
【实践课内】10.函数1/6-3 数据排序.c
Normal file
11
【实践课内】10.函数1/6-3 数据排序.c
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
void fun(int a[], int n) {
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
for (int j = 0; j < n - i - 1; j++) {
|
||||||
|
if (a[j] > a[j + 1]) {
|
||||||
|
int t = a[j];
|
||||||
|
a[j] = a[j + 1];
|
||||||
|
a[j + 1] = t;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
42
【实践课内】10.函数1/6-3 数据排序.md
Normal file
42
【实践课内】10.函数1/6-3 数据排序.md
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# 6-3 数据排序
|
||||||
|
|
||||||
|
输入n(<10)个整数,用任一排序算法按从小到大排序后输出。
|
||||||
|
|
||||||
|
### 函数接口定义:
|
||||||
|
```c
|
||||||
|
在这里描述函数接口。例如:
|
||||||
|
void fun(int a[], int n);
|
||||||
|
```
|
||||||
|
|
||||||
|
### 裁判测试程序样例:
|
||||||
|
```c
|
||||||
|
在这里给出函数被调用进行测试的例子。例如:
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void fun(int a[], int n);
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{int i,a[10],n;
|
||||||
|
scanf("%d",&n);
|
||||||
|
for(i=0;i<n;i++)
|
||||||
|
scanf("%d",&a[i]);
|
||||||
|
fun(a,n);
|
||||||
|
for(i=0;i<n;i++)
|
||||||
|
printf("%3d",a[i]);
|
||||||
|
printf("\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 请在这里填写答案 */
|
||||||
|
```
|
||||||
|
输入格式:先输入n值,再输入要排序的n个数据。
|
||||||
|
### 输入样例:
|
||||||
|
```in
|
||||||
|
6
|
||||||
|
3 5 4 6 2 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 输出样例:
|
||||||
|
```out
|
||||||
|
1 2 3 4 5 6
|
||||||
|
```
|
11
【实践课内】10.函数1/6-4 多项式求值.c
Normal file
11
【实践课内】10.函数1/6-4 多项式求值.c
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
double f(int n, double a[], double x) {
|
||||||
|
double res = 0;
|
||||||
|
double k = 1;
|
||||||
|
|
||||||
|
for (int i = 0; i <= n; i++) {
|
||||||
|
res += a[i] * k;
|
||||||
|
k *= x;
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
44
【实践课内】10.函数1/6-4 多项式求值.md
Normal file
44
【实践课内】10.函数1/6-4 多项式求值.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# 6-4 多项式求值
|
||||||
|
|
||||||
|
本题要求实现一个函数,计算阶数为`n`,系数为`a[0]` ... `a[n]`的多项式$$f(x)=\sum_{i=0}^{n}(a[i]\times x^i)$$ 在`x`点的值。
|
||||||
|
|
||||||
|
### 函数接口定义:
|
||||||
|
```c++
|
||||||
|
double f( int n, double a[], double x );
|
||||||
|
```
|
||||||
|
|
||||||
|
其中`n`是多项式的阶数,`a[]`中存储系数,`x`是给定点。函数须返回多项式`f(x)`的值。
|
||||||
|
|
||||||
|
### 裁判测试程序样例:
|
||||||
|
```c++
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#define MAXN 10
|
||||||
|
|
||||||
|
double f( int n, double a[], double x );
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int n, i;
|
||||||
|
double a[MAXN], x;
|
||||||
|
|
||||||
|
scanf("%d %lf", &n, &x);
|
||||||
|
for ( i=0; i<=n; i++ )
|
||||||
|
scanf("%lf", &a[i]);
|
||||||
|
printf("%.1f\n", f(n, a, x));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 你的代码将被嵌在这里 */
|
||||||
|
```
|
||||||
|
|
||||||
|
### 输入样例:
|
||||||
|
```in
|
||||||
|
2 1.1
|
||||||
|
1 2.5 -38.7
|
||||||
|
```
|
||||||
|
|
||||||
|
### 输出样例:
|
||||||
|
```out
|
||||||
|
-43.1
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user