2014年a卷真题
搬运请注明出处
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <math.h>
#include <stdlib.h>
#include <stack>
#include <queue>
#include <random>
#include <set>
using namespace std;
#define N 100
// 1、数的排列问题
int main(int argc, char const *argv[])
{
int a[4] = {2, 3, 4, 5};
int c = 0, sum;
for (int i = 0; i < 4; i++)
{
sum = a[i] * 100;
for (int j = 0; j < 4; j++)
{
if (j != i)
{
sum = sum + a[j] * 10;
for (int k = 0; k < 4; k++)
{
if (k != i && k != j)
{
sum += a[k];
cout << sum << endl;
c++;
sum -= a[k];
}
}
sum -= a[j] * 10;
}
}
}
printf("一共可以组成%d个无重复且互不相同的三位数\n", c);
return 0;
}
// 2、成绩排名问题-----------------------------------------
// typedef struct
// {
// int id;
// float sum, score[3];
// } Stu;
// void Sum(Stu s[], int n)
// {
// for (int i = 0; i < n; i++)
// {
// printf("请输入第%d为学生的学号、以及三门课程(数学、英语、物理)成绩:", i + 1);
// scanf("%d%f%f%f", &s[i].id, &s[i].score[0], &s[i].score[1], &s[i].score[2]);
// s[i].sum = s[i].score[0] + s[i].score[1] + s[i].score[2];
// }
// }
// void Sort(Stu s[], int n)
// {
// Stu t;
// for (int i = 0; i < n - 1; i++)
// {
// for (int j = i + 1; j < n; j++)
// {
// if (s[j].sum > s[i].sum)
// {
// t = s[i];
// s[i] = s[j];
// s[j] = t;
// }
// }
// }
// }
// void Print(Stu s[], int n)
// {
// for (int i = 0; i < n; i++)
// {
// printf("%d:tudent' s id=%d,mt=%f,en=%f,ph=%f,sum=%f\n", i + 1, s[i].id, s[i].score[0], s[i].score[1], s[i].score[2], s[i].sum);
// }
// }
// int main(int argc, char const *argv[])
// {
// Stu s[30];
// int n = 5;
// Sum(s, n);
// Sort(s, n);
// Print(s, n);
// return 0;
// }
// 3、杨辉三角-----------------------------------------
// void yhtangle(int (*a)[N], int n, int m, float *ave)
// {
// int i, j, x = 0;
// ;
// int sum = 0, count = 0;
// for (i = 1; i <= n; i++)
// {
// x += 1;
// for (j = 1; j <= i; j++)
// {
// if (i == 1)
// {
// *(*(a + i) + j) = 1;
// }
// else if (j == i)
// {
// *(*(a + i) + j) = 1;
// }
// else
// {
// *(*(a + i) + j) = *(*(a + i - 1) + j - 1) + *(*(a + i - 1) + j);
// }
// if (x <= m)
// {
// sum += *(*(a + i) + j);
// count += 1;
// }
// }
// }
// *ave = (float)sum / count;
// }
// void print(int (*a)[N], int n)
// {
// int i, j;
// for (i = 0; i <= n; i++)
// {
// for (j = 1; j <= i; j++)
// {
// printf("%8d", *(*(a + i) + j));
// }
// printf("\n");
// }
// }
// void count(int (*a)[N], int n, int *c, float *ave)
// {
// int i, j;
// for (i = 0; i <= n; i++)
// {
// for (j = 1; j <= i; j++)
// {
// if (*(*(a + i) + j) > *ave)
// {
// *c += 1;
// }
// }
// }
// }
// int main(int argc, char const *argv[])
// {
// int a[N][N], n = 10, m = 3, c = 0;
// float ave_m;
// yhtangle(a, n, m, &ave_m);
// print(a, n);
// count(a, n, &c, &ave_m);
// printf("ave of m row=%f,count=%d", ave_m, c);
// return 0;
// }