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

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

在这里插入图片描述

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

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

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

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;
}

程序的执行结果如下:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44377973/article/details/128621232