1021 个位数统计 1013 数素数 L2-015 互评成绩 L1-076 降价提醒机器人
迪丽瓦拉
2025-05-28 16:01:15
0

在这里插入图片描述

// 题目链接 https://pintia.cn/problem-sets/994805260223102976/exam/problems/994805300404535296
#include
using namespace std;int main(){int index[10]={0};char a[1005];scanf("%s",a);for(int i=0;iindex[int(a[i])-48] += 1;}for(int i=0;i<10;i++){if(index[i]!=0){printf("%d:%d\n",i,index[i]);}}return 0;
}

-------------------------------------------------------------------------

令 P i表示第 i 个素数。现任给两个正整数 M≤N≤10 4 ,请输出 P M 到 P N的所有素数。

输入格式:
输入在一行中给出 M 和 N,其间以空格分隔。

输出格式:
输出从 P M 到 P N 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。

输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

// 题目连接  https://pintia.cn/problem-sets/994805260223102976/exam/problems/994805309963354112
#includeusing namespace std;bool isSu(int x) {if (x == 1) return false;if (x == 2 || x == 3) return true;// 注意素数题  都可以小于sqrt(x)  要不然后超时for (int i = 2; i <= sqrt(x); i++) {if (x % i == 0) {return false;}}return true;
}int main() {int m, n, sum;scanf("%d %d", &m, &n);sum = n - m + 1; // 总共有多少素数int count = 0; //素数总数int k = 0; // 控制输出格式for (int i = 1; i < 1000000; i++) {if (isSu(i)) {count++;if (count >= m && count <= n) {printf("%d", i);k++;if (k % 10 != 0 && k != sum) {printf(" ");} else if (k % 10 == 0) {printf("\n");}}}//退出循环 必须得加 要不然超时if(k == sum){ break;}}return 0;
}

-----------------------------------------------------------------------

学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。

输入格式:
输入第一行给出3个正整数N(3 < N ≤10 4 ,学生总数)、k(3 ≤ k ≤ 10,每份作业的评审数)、M(≤ 20,需要输出的学生数)。随后N行,每行给出一份作业得到的k个评审成绩(在区间[0, 100]内),其间以空格分隔。

输出格式:
按非递减顺序输出最后得分最高的M个成绩,保留小数点后3位。分数间有1个空格,行首尾不得有多余空格。

输入样例:
6 5 3
88 90 85 99 60
67 60 80 76 70
90 93 96 99 99
78 65 77 70 72
88 88 88 88 88
55 55 55 55 55
输出样例:
87.667 88.000 96.000

// 题目链接  https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805062432309248
#include
using namespace std;int main(){int n,k,m;scanf("%d %d %d",&n,&k,&m);float score[n];float sum; //去掉首尾后的总和float avg;int paixu[k];for(int i=0;ifor(int j=0;jscanf("%d",&paixu[j]);}sort(paixu,paixu+k);sum = 0;for(int l=1;lsum += paixu[l];}avg = sum/(k-2);score[i] = avg;}sort(score,score+n);int s = 0; // 控制输出格式for(int i=n-m;iprintf("%.3f",score[i]);s++;if(s!=m){printf(" ");}}return 0;
}

----------------------------------------------------------------------------

小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。

输入格式:
输入第一行是两个正整数 N 和 M (1≤N≤100,0≤M≤1000),表示有 N 条价格记录,小 T 设置的价格为 M。

接下来 N 行,每行有一个实数 P i(−1000.0

输出格式:
对每一条比设定价格 M 便宜的价格记录 P,在一行中输出 On Sale! P,其中 P 输出到小数点后 1 位。

输入样例:
4 99
98.0
97.0
100.2
98.9
输出样例:
On Sale! 98.0
On Sale! 97.0
On Sale! 98.9

// 题目链接  https://pintia.cn/problem-sets/994805046380707840/exam/problems/1386335159927652355
#include
using namespace std;int main(){int n,m;float num;scanf("%d %d",&n,&m);for(int i=0;iscanf("%f",&num);// 整型 能跟 浮点数 比较大小???if(num < m){printf("On Sale! %.1f\n",num);}}return 0;
}

相关内容