全国计算机等级考试三级网络技术辅导:排序与数据分析
版权申诉
10 浏览量
更新于2024-07-06
收藏 3.89MB PDF 举报
"该资源为计算机三级网络技术的机试辅导题,主要涉及数组排序算法和数据处理。"
在计算机编程中,数组排序是一个常见的任务,文档中的代码展示了两种不同的排序方法,主要用于处理200个正整数的数组。第一种方法是按每个数的后三位降序排列,如果后三位相同,则按原始4位数据升序排列。这种排序策略涉及到复合排序条件,即首先根据特定条件(这里是后三位)进行主要排序,然后在次要条件(原始4位数据)相同的情况下应用次要排序。
```c
// 第一种排序方法
for(i=0; i<199; i++)
for(j=i+1; j<200; j++)
{
if(aa[i]%1000<aa[j]%100)
{
temp = aa[i]; aa[i] = aa[j]; aa[j] = temp;
}
else if(aa[i]%1000==aa[j]%1000)
{
if(aa[i]>aa[j])
{
temp = aa[i]; aa[i] = aa[j]; aa[j] = temp;
}
}
}
```
第二种方法与之相反,按每个数的后三位升序排列,若后三位相同,则按原始4位数据降序排列。
```c
// 第二种排序方法
void jsSort()
{
for(i=0; i<199; i++)
for(j=i+1; j<200; j++)
{
if(aa[i]%1000>aa[j]%1000)
{
temp = aa[i]; aa[i] = aa[j]; aa[j] = temp;
}
else if(aa[i]%1000==aa[j]%1000)
{
if(aa[i]<aa[j])
{
temp = aa[i]; aa[i] = aa[j]; aa[j] = temp;
}
}
}
}
```
此外,文档还提到了计算奇数的个数、奇数的平均值、偶数的平均值以及所有奇数的方差的问题。这涉及到读取数据文件并进行统计分析。计算奇数个数、平均值和方差通常在数据分析和统计学中是非常基本的操作。
```c
// 计算奇数的个数、平均值和方差
int ReadDat(void)
{
FILE* fp;
int i, j, N=0, sum1=0, sum2=0, totfc=0;
if((fp=fopen("IN.DAT","r"))==NULL)
return 1;
for(i=0; i<100; i++)
{
for(j=0; j<10; j++)
{
fscanf(fp, "%d,", &xx[i*10+j]);
if(xx[i*10+j] % 2 != 0) // 奇数
{
N++;
sum1 += xx[i*10+j];
totfc += (xx[i*10+j] - ave1)*(xx[i*10+j] - ave1);
}
else // 偶数
sum2 += xx[i*10+j];
}
}
ave1 = sum1 / N; // 奇数平均值
ave2 = sum2 / (100 * 10 - N); // 偶数平均值
totfc = sqrt(totfc / N); // 奇数方差
}
```
以上代码片段演示了如何从文件中读取数据,计算奇数的个数(`N`),奇数的总和(用于计算平均值`ave1`),以及奇数的方差`totfc`。在计算方差时,先计算每个奇数与平均值的差的平方,然后取平均值的平方根得到方差。
这份机试辅导题涵盖了数组操作、复合排序、文件I/O以及基本的统计计算,这些都是计算机三级网络技术考试中可能遇到的基础编程题目。学习者应该熟悉这些概念,并能熟练地将其应用于实际问题中。
2021-10-08 上传
2022-01-10 上传
2021-10-10 上传
2021-09-25 上传
2021-10-11 上传
2021-10-13 上传
huakai218
- 粉丝: 3
- 资源: 8万+