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

相关文章

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R