概述
1.分析知识点 出题方向 基础
2.复习方向
3.高频考点 -----自己注重点 改错题 指针 练习代码注释
填空题多看基础题
switch分数判断
改错题 指针内容多看看
注重代码注释 合理
编程:
1.基础功能实现 不要过多考虑小细节
2.为能实现代码而实现
3.整体基础功能
22,23
递归 数学中常见经典 ...算法----每种题型经典算法
预测:
多项式,学生问题,
递归:阶乘 斐波那契
算法:素数筛选法 排序
2022
输出n之间的所有自然数之和
输出九九乘法表,要求在右上角
递归输出 等腰杨辉三角,
辗转相除最大公约数最小公倍数
输出一个正整数的所有质数因数
排序数组,要求第一次排序后,最小值在第一位,最大值在最后一位;第二次排序后,次小值在第二位,次大值在倒数第二位;以此类推,直到有序位置。
2023
1,求1000以内的完数,输出格式为: 6的因子是1,2,3
数学 循环
2,输入两个正整数n和m,用递归的方法求出这两个数的最大公约数
数学 递归 原题
3,求x=1+1/22-2/333+3/4444.....n-1/nnnnn的值,n<=9
多项式:
1.a aa aaa 运用函数
2.sign=1 控制正负 double
怎么做:
1.分析多项式之间关系
2.适当用 函数 ------ 基础知识点模块化
4,模块化程序设计。输入一个班的语文成绩不超过五十人。以输入遇到负数截至。
1.统计该班的总人数
2.计算该班分数的平均成绩
3.按照从高到低的顺序排序该班的语文成绩
学生成绩问题
结构体 函数
/* 学生成绩问题--函数
* 1.double score [N] 遇 -结束
* 2.统计人数
* 3.平均成绩
* 4.排序
*/
#include<stdio.h>
#define N 50
int input_num(double s[])
{
int i;
for (i = 0; i < N; i++)
{
scanf("%lf", &s[i]); //统计人数 为负数退出
if (s[i] < 0)
break;
}
return i;
}
double avg(double* s, int n)
{
double avg2 = 0.0;
for (int i = 0; i < n; i++)
avg2 += s[i];
return avg2 / n; //返回平均成绩
}
void sort(double score[], int n)
{
int i, j, t;
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (score[j - 1] < score[j])
{
t = score[j - 1];
score[j - 1] = score[j];
score[j] = t;
}
}
}
}
int main()
{
double score[N];
int num = input_num(score);
double avg2 = avg(score, num);
printf("总人数:%d\n", num);
printf("平均分%lf\n", avg2);
sort(score, num);
//输出排序后
for (int i = 0; i < num; i++)
printf("%lf ", score[i]);
return 0;
}