C/C++语言三大结构练习题(持续更新。。。)

1.顺序结构

1.1选择题

1.以下程序的运行结果为:

#include<stdio.h>

int main()
{
	int m=5 , n=10;
	printf("m=%d,n=%d",m++,--n);
	return 0; 
}
A) 6,9   B) 5,9   C)5,10   D)6,10

2.程序输出结果为:

#include<stdio.h>

int main()
{
	int a=201 , b=012;
	printf("%2d,%2d\n",a,b);
	return 0;
 }
A)01,12   B)201,10   C)01,10   D)20,01

3.

4.以下叙述中正确的是:

#include<stdio.h>

int main()
{
	char c1='A' , c2='a';
	printf("%c\n",(c1,c2));
	return 0;
}
A)程序的输出结果为:A
B)程序的输出结果为:a
C)运行时产生错误信息
D)格式说明符的个数少于输出项个数,编译出错

5.程序执行后x的值为:

#include<stdio.h>

int main()
{
	int x,i=4,j=16,k=32;
	x=(i,j,k);
	printf("x=%d",x);
	return 0;
}
A)4   B)16   C)32   D)52

6.求a+b的值

#include<stdio.h>

int main()
{
	int a=2 , b=5;
	printf("b=%d,a+b=%d\n",b++,a+b);
	return 0;
}
A)7   B)8   C)6   D)2

1.2填空题

1.3编程题

1、输出以下图形(这里不涉及循环思想,单纯顺序结构输出)

#include<iostream>
using namespace std;

int main()
{
	cout<<"\t   *   "<<endl;
	cout<<"\t  ***  "<<endl;
	cout<<"\t ***** "<<endl;
	cout<<"\t*******"<<endl;
	cout<<"\t ***** "<<endl;
	cout<<"\t  ***  "<<endl;
	cout<<"\t   *   "<<endl;
	system("pause");
	return 0;
}

2、任意输入一个半径r,求圆的面积

#include<iostream>
using namespace std;
#define pi 3.14  //定义一个常量pi=3.14充当圆周率! 

int main()
{
	int r;  //定义圆的半径为:r 
	cout <<"请输入圆的半径:"<<endl;
	cin >> r;
	cout <<"当圆的半径为:"<<r<<"时"<<"圆的面积为:"<<(2*pi*r)<<endl; 
	system("pause");
	return 0;
 } 

3、任意输入a,b,c的值,求:a*x**2+bx+c=0的解(a乘x的平方)

4、任意输入一个5位的正整数,分别求出它每位上的数值:54261

(最终要借助循环实现任意一个正整数,不限制位数,求出每位上的数值,然后逆序输出)

#include<iostream>
using namespace std;

int main()
{
    //定义这个整数型数值以及:个、十、百、千、万位
	int num , unit , ten , hundred , thousand , ten_thousand;
	cout<<"请任意输入一个5位正整数:"<<endl;
	cin >> num;
	//计算万位 
	ten_thousand = num/10000; 
	//计算千位
	thousand =num%10000/1000;   
	//计算百位
	hundred = num%1000/100; 
	//计算十位
	ten = num%100/10; 
	//计算个位 
	unit = num%10; 
	system("pause");
	return 0;
}

5、通过键盘上输入一位同学的5门课程的成绩(大学英语、大学体育、高等数学、计算机导论、程序设计技术),计算该同学的平均成绩和总成绩并输出

#include<iostream>
using namespace std;

int main()
{
	//定义英、体、数、计算机、程序成绩 和 总成绩; double类型以便输出小数
	double English , gym , math , cumputer , procedure , sum;
	cout<<"请依次输入课程成绩:"<<endl;
	cin >>English>>gym>>math>>cumputer>>procedure;
	sum = English + gym + math + cumputer + procedure;
	cout<<"平均成绩为:"<<(sum/5)<<endl; 
	cout<<"总成绩为:"<<sum<<endl;
	system("pause");
	return 0;
}

6、任意输入一个三角形的三边的值分别给a、b、c,求得并输出该三角形的面积

/*  三边长:a、b、c  s=1.0/2*(a+b+c)  area=sqrt(s*(s-a)*(s-b)*(s-c))  */
#include<stdio.h>
#include<math.h>  //引入数学符号库文件

int main()
{
	float a, b, c, s, area;
	printf("请依次输入三边长的值:\n");
	scanf("%f,%f,%f",&a,&b,&c);
	s = 1.0/2*(a+b+c);
	area = sqrt(s*(s-a)*(s-b)*(s-c));  //sqrt是开根符号
	printf("a=%f\n",a);  printf("b=%f\n",b);
	printf("c=%f\n",c);  printf("s=%f\n",s);
	printf("三角形面积为:%f",area);
	
	return 0;
}

7_1、任意输入2个数值x和y,要求实现2个变量之间的数值交换(使用交换思想)

#include<iostream>
using namespace std;

int main()
{
	//定义数值x=3、y=4和临时存储变量temp 
	int x=3 , y=4 , temp;
	temp = x;  x = y;  y = temp;
	cout<<"x:"<<x<<endl;
	cout<<"y:"<<y<<endl;
	system("pause");
	return 0;
}

7_2、任意输入2个数值x和y,要求实现2个变量之间的数值交换(不使用交换思想)

#include<iostream>
using namespace std;

int main()
{
	//定义数值x、y和临时存储变量temp 
	int x , y , temp;
	cout<<"请输入x和y的值:"<<endl;
	cin >>x>>y;
	temp = x+y; x = temp-x; y = temp-y;
	cout<<"x="<<x<<endl;
	cout<<"y="<<y<<endl;
	system("pause");
	return 0;
}

8、从键盘输入一个大写字母,要求将其转换为对应的小写字母形式输出

#include<stdio.h>

int main()
{
	char c1,c2; 
	printf("请输入一个大写英文字符:\n");
	c1=getchar();  或者  scanf("%c",&c1);
	c2=c1+32;
	printf("英文字母%c对应的小写为:%c\n",c1,c2);
	
	return 0;
}

9、任意输入一个实型数据,要求将这个数值分离成整数部分和小数部分,然后分别输出

#include<iostream>
using namespace std;

int main()
{
	//定义实型数据及这个实型数据的小数部分 
	double num , tail;
	//定义这个实型数据的整数部分 
	int head;
	cout<<"请输入一个实型数据:"<<endl;
	cin >>num;
	head = num/1;  tail = num-head;
	cout<<"这个数据的整数部分为:"<<head<<endl;
	cout<<"这个数据的小数部分为:"<<tail<<endl;
	system("pause");
	return 0;
}

10、要求从控制台读取摄氏温度并将它转化为华氏温度:fashrenheit = celsius*1.8+32

#include<iostream>
using namespace std;

int main()
{
	//定义实型变量celsius、fahrenheit代表摄氏温度和华氏温度 
	double celsius,fahrenheit;
	cout<<"请输入一个摄氏温度:"<<endl;
	cin>>celsius;
	fahrenheit = celsius*1.8+ 32;
	cout<<"对应的华氏温度为:"<<fahrenheit<<endl; 
	system("pause");
	return 0;
}

11、读取圆柱的半径和高计算圆柱底面积和体积:area=pi*r**2;volume=area*high

#include<iostream>
using namespace std;
#define pi 3.14 //定义常量pi为圆周率 

int main()
{
	//定义变量分别为圆柱半径、高、面积、体积 
	double r , high , area , volume; 
	cout<<"请输入圆柱的半径:"<<endl;
	cin>>r;
	area = pi*r*r; 
	cout<<"圆柱的底面积为:"<<area<<endl;
	cout<<"请输入圆柱的高:"<<endl;
	cin>>high;
	volume=high*area;
	cout<<"圆柱的体积为:"<<volume<<endl; 
	system("pause");
	return 0;
}

12、提示用户输入分钟数,将其转换成年数和天数(规定一年:365天)

#include<iostream>
using namespace std;

int main()
{
	//定义分钟、年、天
	double minute , year , day;  
	cout<<"请输入分钟数:"<<endl;
	cin>>minute;
	day = minute/60/24;
	year = day/365;
	cout<<"天数:"<<day<<endl;
	cout<<"年数:"<<year<<endl;
	system("pause");
	return 0;
}

13、计算将水(单位:kg)从初始温度加热到最终温度所需能量:Q=water*(tail-head)*4184

#include<iostream>
using namespace std;

int main()
{
	//定义水(单位:kg)、初始温度、最终温度、能量
	long long water , head , tail , Q;
	cout<<"请依次输入水量、初始温度、最终温度:"<<endl;
	cin>>water>>head>>tail;
	Q = water*(tail-head)*4184;
	cout<<"将水从初始温度加热到最终温度所需能量为:"<<Q<<endl;
	system("pause");
	return 0;
}

14、给出飞机起飞速度v,加速度a、计算飞机最短跑道长度:length=v*v/2a

#include<iostream>
using namespace std;

int main()
{
	//定义飞机起飞速度v、加速度a、最短跑道长度length
	double v , a , length;
	cout<<"请输入飞机加速度和起飞速度:"<<endl;
	cin>>v>>a;
	length = v*v/(2*a);
	cout<<length<<endl; 
	system("pause");
	return 0;
}

2.选择结构

3.循环结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值