C 程序设计教程(12)—— C 语言顺序结构程序设计

news2025/1/23 9:19:36

C 程序设计教程(12)—— C 语言顺序结构程序设计

该专栏主要介绍 C 语言的基本语法,作为《程序设计语言》课程的课件与参考资料,用于《程序设计语言》课程的教学,供入门级用户阅读。

目录

  • C 程序设计教程(12)—— C 语言顺序结构程序设计
        • 1、编写程序实现两个变量值的交换
        • 2、求 ax^2+bx+c=0 方程的根
        • 3、输入三角形的三个边长,求三角形的面积。
        • 4、存款利息计算1
        • 5、存款利息计算2
        • 6、字符型数据的输出问题
        • 7、scanf 函数的各种输入格式
        • 8、对字符型数据进行运算

结构化程序设计方法通常采用三种不同的程序结构,分别是:顺序结构、选择结构和循环结构。其中顺序结构是最基本、最简单的程序结构,其特征是系统按照语句书写的先后次序执行程序。

在顺序结构中经常会用到赋值语句和输入、输出语句。举例如下:

1、编写程序实现两个变量值的交换

程序如下:

#include<stdio.h>
int main() {
	int x,y,t;
	printf("请分别为变量x,y输入一个整数:");
	scanf("%d,%d",&x,&y);
	t=x;
	x=y;
	y=t;
	printf("交换后的变量值为:x=%d,y=%d",x,y);	
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

2、求 ax^2+bx+c=0 方程的根

a、b、c 由键盘输入,且假设 b^2-4ac>=0。程序如下:

#include<stdio.h>
#include<math.h>
int main() {
	float a,b,c,x1,x2,p,q;
	printf("请输入方程ax^2+bx+c=0的系数:");
	scanf("%f,%f,%f",&a,&b,&c);
    /*  判断 b^2-4ac 是否小于0
	if(pow(b,2)-4*a*c<0){
		printf("方程没有实数根。");
		return 0;
	}
	*/
	p=-b/(2*a);
	q=sqrt(pow(b,2)-4*a*c)/(2*a);
	x1=p+q;
	x2=p-q;
	printf("方程的两个根为为:x1=%f,x2=%f",x1,x2);	
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

3、输入三角形的三个边长,求三角形的面积。

已经三角形的三边长 a、b、c,则三角形的面积公式为:area=sqrt(s*(s-a)*(s-b)*(s-c)),其中:s=(a+b+c)/2。程序如下:

#include<stdio.h>
#include<math.h>
int main() {
	float a,b,c,s,area;
	printf("请输入三角形的三个边的边长:");
	scanf("%f,%f,%f",&a,&b,&c);
	/*  判断输入的三个边能否构造一个三角形
	if((a+b<=c)||(b+c<=a)||(a+c<=b)){
		printf("边长有误,请重新输入!");
		return 0;
	}
	*/
	s=(a+b+c)/2;
	area=sqrt(s*(s-a)*(s-b)*(s-c));
	printf("三角形的面积为:%f",area);	
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

4、存款利息计算1

假设有 100 万存款,一年期存款利率 2.15 %,一年到期后的本息自动续存一年期定期,求 10 年后的利息。

利息计算公式:1000000*(1+p)^n(p——利率,n——年数)

程序如下:

#include<stdio.h>
#include<math.h>
int main() {
	int n=10;	
	float rate=0.0215,interest;
	interest=1000000*(pow((1+rate),n)-1);
	printf("100万存款,年利率2.15%,10年后的利息为:%f",interest);	
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

5、存款利息计算2

假定银行存款的利率如下:

一年期定期:2.25%;二年期定期:2.75%;三年期定期:3.25%;五年期定期:3.35%

有 100 万存款,需要存入银行 5 年,有以下几种方案:

(1)一次存入五年;

(2)先存两年,到期后将本息再存三年;

(3)先存三年,到期后将本息再存两年;

(4)存一年,到期后将本息再存一年,连续存五次。

请计算每种方案的存款利息。

程序如下:

#include<stdio.h>
#include<math.h>
int main() {
	int n=10;
	float p=1000000,interest[4];
	float rate[4]={0.0225,0.0275,0.032,0.0335};
	interest[0]=p*5*rate[3];//方案一 
	interest[1]=p*(1+2*rate[1])*(1+3*rate[2])-p;//方案二 
	interest[2]=p*(1+3*rate[2])*(1+2*rate[1])-p;//方案三 
	interest[3]=p*pow((1+rate[0]),5)-p;//方案四 
	printf("方案一的存款利息为:%f\n",interest[0]);
	printf("方案二的存款利息为:%f\n",interest[1]);
	printf("方案三的存款利息为:%f\n",interest[2]);
	printf("方案四的存款利息为:%f\n",interest[3]);
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

6、字符型数据的输出问题

字符型数据可以使用 %c 和 %d 格式输出。整型数据也可以使用 %c 和 %d 格式输出。

程序如下:

#include<stdio.h>
#include<math.h>
int main() {
	int a=97,x=156;
	char ch='A';
	printf("%d,%c\n",a,a);
	printf("%d,%c\n",ch,ch);
	printf("%d,%c\n",x,x);//只有0~127之间的整数才能输出为字符 
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

7、scanf 函数的各种输入格式

有如下程序:

#include<stdio.h>
#include<math.h>
int main() {
	int a,b;
	float x,y;
	char ch1,ch2;
	scanf("a=%d b=%d",&a,&b);
	scanf("%f %e",&x,&y);
	scanf("%c %c",&ch1,&ch2);
	printf("a=%d,b=%d,\nx=%f,y=%f,\nch1=%c,ch2=%c\n",a,b,x,y,ch1,ch2);
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

说明:在输入实数 x 和 y 的值后应立即输入字符型数据,不应输入空格或回车。否则空格或回车会被存入字符型变量 ch1。输入空格的结果如下:

在这里插入图片描述

输入回车的结果如下:

在这里插入图片描述

8、对字符型数据进行运算

编写程序对字符串 “China” 加密,加密原则是:用原来的字母后面第 4 个字母代替原来的字母。例如,字母 A 后面第 4 个字母是 E,用 E 代替 A。程序如下:

#include<math.h>
int main() {
	char str[6]="China";
	str[0]+=4;
	str[1]+=4;
	str[2]+=4;
	str[3]+=4;
	str[4]+=4;
	printf("China加密结果为:%s\n",str);
	return 0;
}

程序的执行结果如下:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入探索Flutter性能优化

前言 Flutter 作为目前最火爆的移动端跨平台框架&#xff0c;能够帮助开发者通过一套代码库高效地构建多平台的精美应用&#xff0c;并支持移动、Web、桌面和嵌入式平台。对于 Android 来说&#xff0c;Flutter 能够创作媲美原生的高性能应用&#xff0c;但是&#xff0c;在较…

【nvivo11plus教程】02_编码与节点

1、对文档进行编码(1)建立节点(2)使用快速编码栏进行编码(3)将整个文件编码为一个代码(4)范围编码(5)在vivo中编码(6)使用节点昵称加快编码速度2、取消、增加和查看编码(1)编码带(2)删除编码(3)查看编码邻近区(4)增加编码(5)查看编码信息3、组织节点(1)节点结构化(2)移动归类节…

leetcode-每日一题-还原排列的最少操作步数(中等,数学逻辑)

回家了很少看了&#xff0c;今天突然心血来潮做了今天的每日一题&#xff0c;还不错&#xff0c;最后是一次AC&#xff0c;说明这么长时间没看实力没有下降多少&#xff0c;哈哈哈哈&#xff0c;自恋一下&#xff0c;后面我会更新一些课设和实验作业&#xff0c;进入正题。给你…

密码学_ECC椭圆曲线加密算法

算法介绍 椭圆加密算法&#xff08;ECC&#xff09;是一种公钥加密体制&#xff0c;最初由Koblitz和Miller两人于1985年提出&#xff0c;其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。公钥密码体制根据其所依据的难题一般分为三类&#xff1a…

【jQuery】常用API——jQuery样式操作

一、操作 css 方法 jQuery 可以使用 css 方法来修改简单元素样式。1. 参数只写属性名&#xff0c;则是返回属性值$(this).css(color);2. 参数是属性名&#xff0c;属性值&#xff0c;逗号分隔&#xff0c;是设置一组样式&#xff0c;属性必须加引号&#xff0c;值如果是数字可以…

Go基础学习

文章目录回看下历史环境安装和开发工具&#xff1a;基础语法&#xff1a;go的注释&#xff1a;变量定义&#xff1a;简短定义模式Go的变量交换匿名变量&#xff08;空白标识符&#xff09;&#xff1a;变量的作用域&#xff1a;iota常量计数器数据类型布尔类型数值型整数浮点数…

新冠COVIN-19流感病患轨迹追溯

实验背景 冬季是流感的高发季节&#xff0c;现已知某流感病毒的传播力很强&#xff0c;政府部门也陆续公开了部分流感确诊患者&#xff08;后续简称“病患”&#xff09;的非隐私信息&#xff0c;这部分数据为相关研究人员研究该流感病毒的传播与防控提供了重要的数据支撑。 然…

Linux网站服务实操练习

作者简介&#xff1a;一名99年软件运维应届毕业生&#xff0c;正在自学云计算课程。宣言&#xff1a;人生就是B&#xff08;birth&#xff09;和D&#xff08;death&#xff09;之间的C&#xff08;choise&#xff09;&#xff0c;做好每一个选择。创作不易&#xff0c;动动小手…

python:打包package

简介 把模块打包成package&#xff0c;可以进行分发和安装。 packaged的打包和安装一、package层次架构二、 package的打包和安装1. 创建setup.py2. 打包package3. 安装package一、package层次架构 其中mypackage为进行打包的文件夹&#xff0c;文件夹下包含多个脚本&#xff1…

钢铁行业应用APS生产排产系统的好处

1 钢铁行业APS生产排产系统设计的主要业务流程 全局一体化计划&#xff1a;主要负责订单交期评审与应答、销产转换、主生产计划、铁水需求计划&#xff0c;该计划的最终目标是对各个分厂的日计划提出整体要求。主要对口业务部门为公司生产计划排程部门。 各个工段厂区的一体化…

SpringCloud微服务项目实战 - 4.自媒体平台(博主后台)

“我读过很多书&#xff0c;但后来大部分都忘记了&#xff0c;你说这样的阅读究竟有什么意义&#xff1f;” “当我还是个孩子时&#xff0c;我吃过很多食物&#xff0c;现在已经记不起来吃过什么了。但可以肯定的是&#xff0c;它们中的一部分已经长成我的骨头和肉。” 系列文…

LaoCat带你认识容器与镜像(三【上】)

有道是每逢佳节倍惰怠 ~&#xff0c;春节期间随缘更新吧 ~ 本章内容 Docker挂载数据卷相关。 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 前边章节就介绍过Docker数据卷相关的知识点&#xff0c;也特别强调了生产环境一定要记得挂载数据卷&#xff0c;编程的小…

【前端】Vue项目:旅游App-(11)city:添加热门数据、动态修改索引栏、点击跳转、显示城市

文章目录目标过程与代码添加热门数据热门数据样式索引栏索引监听点击、保存数据、回退首页跳转到city页、显示城市效果总代码修改的文件city.jscurrentGroupCity.vuehome.vue目标 上一篇以indexBar的形式显示了数据&#xff1a;【前端】Vue项目&#xff1a;旅游App-&#xff0…

【Kubernetes 企业项目实战】01、使用 kubeadm 安装 K8s-v1.23 高可用集群

目录 K8s-v1.23 安装环境规划 kubeadm 和二进制安装 k8s 适用场景分析 一、初始化安装 k8s 集群的环境 1.1 初步的环境初始化 1.2 配置主机之间无密码登录 1.3 关闭交换分区 swap 提升性能 1.4 修改机器内核参数 1.5 配置阿里云的 repo 源 1.6 配置安装 k8s 组件需要…

python调试器 ipdb

文章目录1. 介绍1.1 常用调试方式1.2 安装 ipdb2. 用法3. 命令3.1、查看源代码3.2、添加断点3.3 添加临时断点3.4 清除断点3.5、打印变量值3.6、逐行调试命令3.7、非逐行调试命令3.8 跳出函数&#xff0c;跳入函数3.9、查看当前函数所有参数3.10 打印变量的值3.11、打印变量类型…

11. 盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器。 示例…

【openGauss】在openEuler(ARM架构)上安装openGauss(单机版)

一、系统版本介绍 当前案例中的openGauss安装&#xff0c;底层操作系统为openEuler-20.03-LTS版本&#xff0c;当前openGauss对Python版本兼容性最好的是Python 3.6版本与Python 3.7版本&#xff0c;该实验使用的openEuler版本自带Python 3.7.4&#xff0c;不需要再自行安装 二…

光电探测器怎么选

想要挑选光电探测器&#xff0c;首先应该理解探测器的重要的几个指标。 实际看一个光电探测器吧 输入输出接口三个部分&#xff0c;光纤输入&#xff0c;射频输出&#xff0c;电源供电 数据手册 捡几个难理解的说说&#xff0c;详细推导解释这里不赘述了&#xff0c;难理解的…

【二】Netty 搭建简单的http服务

Netty 搭建简单的http服务Netty 简介代码展示netty 依赖NettyServer netty 服务端启动类MyChannelInitializer 设置编码解码器&#xff0c;并添加自己的业务方法MyClientHandler 实现自己的业务方法。主要方法 是读取到数据后处理效果展示服务端打印截图采用Postman 测试 截图N…

JDBC 实现增删改查的实际操作,很简单

大家好&#xff0c;今天给大家分享一下JDBC 实现增删改查的实际操作 我们还是使用的Maven的方式&#xff0c; 首先要创建一个干净的Maven webapps项目 看这个就可以了 要导入相关的依赖 <dependencies><!-- https://mvnrepository.com/artifact/mysql/mysql-connec…