4月7日,更新一下作业预告:百分制成绩转换为五分制成绩;平均成绩、最高分和最低分;累加实验;所有素数正常算法和布尔值加入的算法;还好还好,

本文主要是介绍4月7日,更新一下作业预告:百分制成绩转换为五分制成绩;平均成绩、最高分和最低分;累加实验;所有素数正常算法和布尔值加入的算法;还好还好,,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一题:

编程实现,将一个百分制成绩转换为五分制成绩。转换原则,当成绩大于或等于90分为A,小于90分且大于等于80分为B,小于80分且大于等于70分为C,小于70分且大于等于60分为D;小于60分为E。(要求用switch语句)

#include<stdio.h>
int main()
{int a=0, b;printf("请输入百分制成绩:");scanf("%d", &a);b = a / 10;switch (b){case 9:printf("A"); break;case 8:printf("B"); break;case 7:printf("C"); break;case 6:printf("D"); break;default:printf("E"); break;}return 0;
}

第二题:

编程实现,从键盘上输入10个学生的成绩,求平均成绩、最高分和最低分。

    输入测试数据:34 56 87 90 87 65 78 87 96 69

    程序运行结果:max=96 min=34 avg=74.90

#include<stdio.h>  int main()  
{  int i, sum = 0, max = 0, min, score;  float avg;  // 初始化min为可能的最大值,这样第一个成绩输入后一定会更新min  min = 100;  // 循环输入10个学生的成绩  for (i = 0; i < 10; i++)  {  printf("请输入第%d个学生的成绩:\n", i+1);  scanf("%d", &score);  // 累加成绩  sum += score;  // 更新最高分  if (score > max)  {  max = score;  }  // 更新最低分  if (score < min)  {  min = score;  }  }  // 计算平均分  avg = (float)sum / 10;  // 输出结果  printf("平均成绩为:%.2f\n", avg);  printf("最高分为:%d\n", max);  printf("最低分为:%d\n", min);  return 0;  
}

 第三题:

编程实现,求k=1100k+k=150k2+k=1101k

#include<stdio.h>
int main()
{int k,a=0, b=0;float c = 0;for ( k = 1; k <=100; k++){a += k;}for ( k = 1; k <= 50; k++){b += (k * k);}for ( k = 1; k <=10; k++){c += (1.0 / k);}printf("第一个求和项 :%d\n", a);printf("第二个求和项 :%d\n", b);printf("第三个求和项 :%f\n", c);printf("总和 = %f\n", a+b+c);
}

第四题:

编程实现,计算

在C语言中可调用log(n)求ln(n)。提示2:用数学函数需用#include<math.h>。

输入测试数据:20

程序的运行结果为 6.506583

#include<stdio.h>
#include<math.h>
int main()
{int i = 1,m;double s = 0;scanf("%d", &m);for ( i = 1; i <= m; i++){s += log(i);}printf("s=%lf", sqrt (s));
}

第五题:

编程实现,求2~100间的所有素数

#include <stdio.h>  
#include <math.h>  int main() {int n, j, k;for (n = 2; n <= 100; n++) { // 循环从2开始到100结束  if (n <= 3) { // 2和3都是素数,直接打印  printf("%d is a prime number\n", n);continue;}if (n % 2 == 0) continue; // 跳过偶数  k = sqrt(n);for (j = 3; j <= k; j += 2) { // 检查奇数因子  if (n % j == 0) break; // 如果找到因子,跳出循环  }if (j > k) { // 如果没有找到因子,打印素数  printf("%d is a prime number\n", n);}}return 0; // 主函数返回0,表示程序正常结束  
}

 解释:

  1. 首先,我们使用了#include <stdio.h>#include <math.h>来包含标准输入输出和数学函数库。

  2. main()函数是程序的入口。在这个函数中,我们使用了一个for循环,从2开始逐个检查每个数,直到100为止。

  3. 对于每个数n,我们首先检查是否小于等于3。因为2和3都是素数,所以我们直接打印出它们,并使用continue语句跳过后面的步骤。

  4. 如果n不小于等于3,我们再检查是否为偶数,如果是偶数则直接跳过,因为除了2以外,偶数都不可能是素数。

  5. 如果n既不是2也不是偶数,我们使用sqrt()函数计算n的平方根,并将结果存储在k中。这是因为一个数的因子(除了1以外)最大不可能超过其平方根。

  6. 接下来,我们使用一个for循环从3开始逐个检查n是否有奇数因子。我们逐步增加j的值,直到它大于k为止。

  7. 在循环中,如果我们找到了n的一个奇数因子,就会使用break语句跳出循环,因为这意味着n不是一个素数。

  8. 如果循环结束后j的值大于k,说明我们没有找到n的任何因子,这时我们打印出n是一个素数。

  9. 整个过程会不断重复,直到检查完2到100之间的所有数为止。

学过布尔值的可以这么写

#include <stdio.h>  
#include <stdbool.h>  bool is_prime(int num) {  if (num <= 1) {  return false;  }  for (int i = 2; i * i <= num; i++) {  if (num % i == 0) {  return false;  }  }  return true;  
}  int main() {  printf("2到100之间的所有素数为:\n");  for (int i = 2; i <= 100; i++) {  if (is_prime(i)) {  printf("%d ", i);  }  }  printf("\n");  return 0;  
}

这篇关于4月7日,更新一下作业预告:百分制成绩转换为五分制成绩;平均成绩、最高分和最低分;累加实验;所有素数正常算法和布尔值加入的算法;还好还好,的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/883206

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

hdu1689(线段树成段更新)

两种操作:1、set区间[a,b]上数字为v;2、查询[ 1 , n ]上的sum 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdl

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问