c语言经典基础编程题

c语言经典基础编程题

  • 一、输出输出
    • 1.1温度输出
    • 1.2排齐数据
    • 1.3进制转换
  • 二、选择分支
    • 2.1求最大值
    • 2.2成绩评定
    • 2.3分段函数求值
    • 2.4 利润计算
    • 2.5判断闰年
    • 2.6二次方程根
  • 三、循环结构
    • 3.1倒数求和
    • 3.2最大数
    • 3.3判断素数
    • 3.4判断完全数
    • 3.5打印菱形🚀🚀🚀
    • 3.6复读机
    • 3.7算对了吗
    • 3.8 堵车问题

😍适合考研复试,期末考试,小白学习…超绝!!!(自用版)👍
在这里插入图片描述

一、输出输出

1.1温度输出

在这里插入图片描述
答案:

#include<stdio.h>
int main(){double c,F;scanf("%lf",&F);c=5*(F-32)/9;printf("c=%.2lf",c);return 0;
}

注意:注意:如果c,F是float类型,为了保证精度,中间运算编译器还是会隐含的转化为double类型进行运算。

1.2排齐数据

在这里插入图片描述
答案:

#include<stdio.h>
int main(){char love;int year,height;int age;scanf("%c,%d,%d",&love,&year,&height);age=2025-year;printf("love:%-8cage:%-8dheight:%-8d",love,age,height);return 0;
}

%-md:-代表左对齐,m是最少占用多少列。

1.3进制转换

在这里插入图片描述
答案:

#include<stdio.h>
int main(){int x;scanf("%d",&x);printf("十进制:%d 八进制:%o 十六进制:%x 指数形式:%e",x,x,x,(float)x);return 0;
}

注意:仅需制定相应的格式化输出符,编译器会自动完成进制准换。
指数形式是浮点数的表示形式之一,所以要进行强制类型转换成float类型。

二、选择分支

2.1求最大值

在这里插入图片描述
答案: 🎈前两项和后两项分别取大者,然后这两个大者再取更大者。

#include<stdio.h>
int main(){int a,b,c,d;int temp;scanf("%d%d%d%d",&a,&b,&c,&d);if(a<b){temp=a,a=b,b=temp;}if(c<d){temp=c,c=d,d=temp;}if(a<c){temp=a,a=c,c=temp;}printf("%d",a);return 0;	
}

2.2成绩评定

在这里插入图片描述
答案:

#include<stdio.h>
int main(){int grade;scanf("%d",&grade);if(grade<60){printf("E");}else{switch(grade/10){case 6: printf("D"); break;case 7: printf("C"); break;case 8: printf("B"); break;case 9: case 10:printf("A"); break;}}return 0;	
}

2.3分段函数求值

在这里插入图片描述
答案:

#include<stdio.h>
int main(){int x,y;scanf("%d",&x);if (x<1){y=x;}else if(x<=1&&x<10){y=2*x-1;}else{y=3*x-11;}printf("%d",y);return 0;
}

2.4 利润计算

在这里插入图片描述
答案:

#include <stdio.h>int main() {int profit;double bonus;scanf("%d", &profit);if (profit <= 100000) {bonus = profit * 0.1;} else if (profit <= 200000) {bonus = 100000 * 0.1 + (profit - 100000) * 0.075;} else if (profit <= 400000) {bonus = 100000 * 0.1 + 100000 * 0.075 + (profit - 200000) * 0.05;} else if (profit <= 600000) {bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03;} else if (profit <= 1000000) {bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015;} else {bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit - 1000000) * 0.01;}printf("%d", (int)bonus);return 0;
}

2.5判断闰年

在这里插入图片描述
答案:

#include <stdio.h>int main() {int year;scanf("%d",&year);if((year%4==0&&year%100!=0)||(year%400==0)){printf("0");  //闰年}else{printf("1");}return 0;
}

2.6二次方程根

在这里插入图片描述

答案:

#include <stdio.h>
#include <math.h>
int main() {double a,b,c,delta;scanf("%lf%lf%lf",&a,&b,&c);delta=b*b-4*a*c;if(delta>1e-6){printf("x1=%.3lf x2=%.3lf",((-b+sqrt(delta))/2/a),((-b-sqrt(delta))/2/a));}else if(fabs(delta)<=1e-6){printf("x1=%.3lf x2=%.3lf",(-b/2/a), (-b/2/a));}else{printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",(-b/2/a),(sqrt(-delta)/2/a),(-b/2/a),(sqrt(-delta)/2/a));}return 0;
}

在判断判别式与 0 的关系时,由于浮点数在计算机中存储存在精度问题,直接用 == 判断浮点数等于 0 可能不准确,所以有时会引入一个极小值(如 1e-6 )来进行近似判断。

三、循环结构

3.1倒数求和

在这里插入图片描述
答案:

#include <stdio.h>
int main() {int n;double sum=0.0;//不可以忘记赋初值scanf("%d",&n);for(int i=1;i<=n;i++){sum+=1/(double)i; //注意这里的类型转换}printf("%.4lf",sum);return 0;
}

3.2最大数

在这里插入图片描述
答案:

#include <stdio.h>
int main() {int x,max=0;scanf("%d",&x);while(x!=0){if(x>max){max=x;}scanf("%d",&x);}printf("%d",max);return 0;}

tips:我们键盘输入到控制台中的数据,并不会直接输出,一开始都放到键盘的缓冲区中,按回车后才会发送出去!🚗

3.3判断素数

在这里插入图片描述
答案:

#include <stdio.h>
int isPrime(int n) {if (n <= 1)return 0;  // 不是素数for (int i = 2; i * i <= n; i++)if (n % i == 0) {return 0;  // 不是素数}return 1;  // 是素数,注意是等到整个循环结束后
}int main() {int n;scanf("%d", &n);if (isPrime(n)) {printf("yes\n");} else {printf("no\n");}return 0;
}

3.4判断完全数

在这里插入图片描述
答案:

#include <stdio.h>
int main() {int n,sum=0;scanf("%d",&n);for(int i=1;i<=n;i++){sum=0;  //注意这个归0位置for(int j=1;j<=i/2;j++){ //注意边界=i/2 这个因子if(i%j==0){sum+=j;}	}if(sum==i){  //注意放在内层for循环的外部,不然这会使得在还没有遍历完所有因子时就进行判断printf("%d ",i);}}return 0;
}

3.5打印菱形🚀🚀🚀

在这里插入图片描述
在这里插入图片描述
答案:

#include <stdio.h>
int main() {int n;scanf("%d",&n);for(int i=1;i<=n/2+1;i++){ //打印高度n/2+1的上三角for(int j=i;j<=n/2;j++){ //前4行空格数 3 2 1 0printf(" ");}for(int j=1;j<=2*i-1;j++){ //前4行*数 1 3 5 7printf("*");}printf("\n");}for(int i=1;i<=n/2;i++){ //打印高度n/2的上三角for(int j=1;j<=i;j++){ //后3行空格数 1 2 3printf(" ");}for(int j=1;j<=n-2*i;j++){ //后3行*数 5 3 1printf("*");}printf("\n");}return 0;
}

先打印上三角,再打印下三角,结合具体情况弄清空格和*的个数关系,来处理边界情况。

3.6复读机

在这里插入图片描述
答案:

#include <stdio.h>
int main() {char c;while((c=getchar())!='#'){putchar(c);}return 0;
}

3.7算对了吗

在这里插入图片描述
答案:

#include <stdio.h>
#include <string.h>int main(){char input[100];int correct_answers = 0;while (1){gets(input);if (input[0] == '#')break;int a, b, c;char op;//从字符数组中解析字符sscanf(input, "%d%c%d=%c", &a, &op, &b, &c);if (op == '+'){if (c != '?' && c == (a + b))correct_answers++;}else if (op == '-'){if (c != '?' && c == (a - b))correct_answers++;}}printf("%d", correct_answers);return 0;
}

3.8 堵车问题

在这里插入图片描述
答案:

#include <stdio.h>
int main(){int n, count = 0;scanf("%d", &n);for (int small = 0; small <= n; small++)for (int middle = 0; middle <= n/2; middle++)for (int large = 0; large <= n/3; large++)if (small + 2*middle + 3*large == n)count++;printf("%d",count);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33283.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[多线程]基于阻塞队列(Blocking Queue)的生产消费者模型的实现

标题&#xff1a;[多线程]基于阻塞队列(Blocking Queue)的生产消费者模型的实现 水墨不写bug 文章目录 一、生产者消费者模型特点&#xff1a;二、实现2.1详细解释1. 成员变量2. 构造函数3. Isfull 和 Isempty4. Push 函数5. Pop 函数6. 析构函数7. GetSize 函数 三、总结与多线…

在vs中无法用QtDesigner打开ui文件的解决方法

解决方法 右键ui文件&#xff0c;选择打开方式&#xff0c;弹出如下界面。 点击添加&#xff0c;弹出如下界面 点击程序后边的三个点&#xff0c;去电脑查找designer.exe,我的位置为D:\Qt\Qt5.9.9\5.9.9\msvc2015_64\bin\designer.exe。 名称可以自己起一个名字&#xff0c…

[内网渗透] 红日靶场2

环境配置 靶场地址: http://vulnstack.qiyuanxuetang.net/vuln/wiki/ 环境配置可以看这个: https://www.bilibili.com/video/BV1De4y1a7Ps/?spm_id_from333.337.search-card.all.click&vd_sourcecf73ac8de9b7c0322b1bccf77de91c5dNAT模式分配111段, DHCP也要更改 再添加…

第八节:红黑树(初阶)

【本节要点】 红黑树概念红黑树性质红黑树结点定义红黑树结构红黑树插入操作的分析 一、红黑树的概念与性质 1.1 红黑树的概念 红黑树 &#xff0c;是一种 二叉搜索树 &#xff0c;但 在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是 Red和 Black 。 通过对 任何…

基于Spring Boot的网上蛋糕售卖店管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

哈尔滨算力服务器托管推荐-青蛙云

哈尔滨年平均气温3.5摄氏度&#xff0c;有发展云计算和算力数据中心的天然优势 &#xff0c;今天为哈尔滨算力服务器托管服务商&#xff1a;青蛙云&#xff0c;黑龙江经营17年的老牌IDC服务商。 先来了解下算力服务器&#xff1a; 算力服务器&#xff0c;尤其是那些用于运行人…

关于Linux contOS 7 的防火墙

centos7 通过firewall-cmd命令添加防火墙白名单 。 查看防护墙状态 firewall-cmd --state 或 systemctl status firewalld active (running)-->表示防火墙已经开启&#xff1b;inactive (dead)-->表示防火墙已经关闭 开关防火墙命令 启动防火墙&#xff1a;systemctl …

【openGauss】物理备份恢复

文章目录 1. gs_backup&#xff08;1&#xff09;备份&#xff08;2&#xff09;恢复&#xff08;3&#xff09;手动恢复的办法 2. gs_basebackup&#xff08;1&#xff09;备份&#xff08;2&#xff09;恢复① 伪造数据目录丢失② 恢复 3. gs_probackup&#xff08;1&#xf…

MySql学习_基础Sql语句

目录 1.数据库相关概念 2.SQL 2.1 SQL通用语法 2.2 SQL分类 2.3 DDL&#xff08;数据库定义语言&#xff09; 2.4 DML&#xff08;数据操作语言&#xff09; 2.5 DQL&#xff08;数据查询语言&#xff09; 2.6 DCL&#xff08;数据控制语言&#xff09; 3. 函数 3.1 字…

MAE:Masked Autoencoders Are Scalable Vision Learners——论文学习

论文地址&#xff1a;https://arxiv.org/pdf/2111.06377.pdf 官方源码&#xff1a;https://github.com/facebookresearch/mae 一、主要内容 本文证明了掩码自编码器(MAE)是一种可扩展的计算机视觉自监督学习算法。本文的MAE方法很简单:屏蔽输入图像的随机补丁并重建缺失的像素…

【C++标准库类型】深入理解C++中的using声明:从基础到实践

目录 一、using声明基础 1.1 基本语法形式 1.2 典型应用场景 1.3 作用域规则 二、关键注意事项 2.1 命名冲突处理 2.2 头文件使用规范 2.3 与typedef的对比 三、面向对象中的应用 3.1. 解除派生类名称隐藏&#xff08;核心应用&#xff09; 3.2. 构造函数继承&#…

VSTO(C#)Excel开发6:与窗体交互

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

微服务Sentinel组件:服务保护详解

目录 服务保护简介 服务保护方案 安装与介绍Sentinel Sentinel整合微服务 服务保护实现 请求限流 线程隔离 OpenFeign整合Sentinel 配置线程隔离 服务熔断 编写降级逻辑 实现服务熔断 服务保护总结 服务保护简介 微服务保护是为了保障系统整体的稳定性和可靠性&am…

计算机视觉|首次写入政府工作报告!这个科技新词“具身智能”到底是什么?

一、具身智能与视觉-动作联合建模简介 具身智能&#xff08;Embodied Intelligence&#xff09; 是人工智能领域的关键研究方向&#xff0c;强调智能体通过物理实体与环境交互实现认知和智能行为。与传统人工智能基于静态数据和符号推理不同&#xff0c;具身智能依赖动态感知与…

【Azure 架构师学习笔记】- Azure Databricks (18) --Delta Live Table 架构

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (17) --Delta Live Table和Delta Table Databrics DLT 是一个ETL 框架&#xff0c;通过创建pipeline来简化开发难度&#xff0c;本文介绍两种D…

上下文学习思维链COTPrompt工程

一、上下文学习 上下文学习强调在学习过程中考虑问题所处的上下文环境。 1.1 上下文学习的分类 零样本&#xff08;Zero-Shot&#xff09;上下文学习单样本&#xff08;One-Shot&#xff09;上下文学习少样本&#xff08;Few-Shot&#xff09;上下文学习 1.2 示例选择方法 …

嵌入式裸机设计--MCU常用裸机架构有哪些?

为什么是裸机设计 792125321入群学习更高效&#xff01; 在MCU&#xff08;微控制器单元&#xff09;裸机开发中&#xff0c;我们常见的架构设计主要围绕如何高效管理资源和任务调度。认识这些开发方式&#xff0c;对我们开发一个小型项目来说及有好处&#xff01; 下面介绍…

C语言基础知识04

指针 指针概念 指针保存地址&#xff0c;地址是字节的编号 指针类型和保存的地址类型要一直 使用时注意&#xff0c;把地址转换为&变量的格式来看 int a[3]; a转为&a[0] 指针的大小 64bit 固定8字节&#xff0c; 32bit 固定4字节 指针…

IDEA 一键完成:打包 + 推送 + 部署docker镜像

1、本方案要解决场景&#xff1f; 想直接通过本地 IDEA 将最新的代码部署到远程服务器上。 2、本方案适用于什么样的项目&#xff1f; 项目是一个 Spring Boot 的 Java 项目。项目用 maven 进行管理。项目的运行基于 docker 容器&#xff08;即项目将被打成 docker image&am…

浏览器崩溃的第一性原理:内存管理的艺术

作者&#xff1a;京东科技 屠永涛 登录后复制 你是否曾经遇到过浏览器突然卡顿&#xff0c;甚至崩溃的情况&#xff1f;尤其是在打开多个标签页或运行复杂的网页应用时&#xff0c;浏览器似乎变得异常脆弱。这种崩溃的背后&#xff0c;往往与内存管理息息相关。 1. 浏览器的内存…