您的位置:首页 > 编程语言 > C语言/C++

某大学大一C/C++期末考试试题【编程部分】

2018-01-29 14:22 549 查看
1、 从键盘输入三条边,先判断能否构成三角形,如果能,计算三角形的面积,否则输出不能构成三角形。Sqrt math.h

#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
int main(){
int a[3];
for(int i=0;i<3;i++){
cin>>a[i];
}
sort(a,a+3);
if(a[0] <= 0 || a[0] + a[1] <= a[2]){
cout<<"不能构成三角形"<<endl;
}
else{
double p = (a[0] + a[1] + a[2]) / 2;
double s = sqrt(p*(p-a[0])*(p-a[1])*(p-a[2]));
cout<<"三角形的面积为"<<s<<"。"<<endl;
}
return 0;
}


2、 输出1900年到2050年之间是闰年的年份。判断闰年的条件是能被4整除但不能同时被100整除,或者能被400整除,则这一年是闰年。

#include <iostream>

using namespace std;
int main(){
for(int i=1900;i<=2050;i++){
if(i%4==0 && i%100 != 0){
cout<<i<<" ";
}
else if(i%400 ==0){
cout<<i<<" ";
}
}
return 0;
}


3、 根据学生考试成绩score的值(整数)判定考试等级。判定标准如下表所示。(用swich结构实现)



#include <iostream>

using namespace std;
int main(){
while(true){
int a;
cin>>a;
a /= 10;
switch(a){
case 10:
case 9:
cout<<"学生成绩优秀(A级)。"<<endl;
break;
case 8:
cout<<"学生成绩良好(B级)。"<<endl;
break;
case 7:
cout<<"学生成绩中等(C级)。"<<endl;
break;
case 6:
cout<<"学生成绩及格(D级)。"<<endl;
break;
default:
cout<<"学生成绩不及格(E级)。"<<endl;
}
}
return 0;
}


4、输出所有的水仙花数。(水仙花数是个三位数,特点是每一位上的数字的立方和等于这个数本身。如153是水仙花数,153=13+53+33)

#include <iostream>
#include <math.h>
using namespace std;
int main(){
for(int i=100;i<1000;i++){
int a = i%10;//个位
int b = i%100/10;//十位
int c = i/100;//百位
if(i == pow(a,3) + pow(b,3) + pow(c,3))
cout<<i<<" ";
}
return 0;

}


5、输出以下图形char ch=’A’;

A

B B B

C C C C C

D D D D D D D

#include <iostream>

using namespace std;
int main(){
for(int i='A';i<='D';i++){
for(int j=3*('D'-i);j>0;j--){
cout<<" ";
}
int k;
for
4000
(k=i-'A'+1;k>0;k--){
cout<<" "<<(char)i<<" ";
}
for(k=i-'A';k>0;k--){
cout<<" "<<(char)i<<" ";
}
cout<<endl;
}
return 0;

}


6、将一个3*3的矩阵存入二维数组中,找出其中的最大值以及对应的行下标和列下标。

#include <iostream>

using namespace std;
int main(){
double a[3][3];
double MAX,I,J;
cout<<"请输入一个3*3的二维矩阵"<<endl;
int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++)
cin>>a[i][j];
}
MAX =  a[0][0];
I = 0;J = 0;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
if(MAX < a[i][j]){
MAX = a[i][j];
I = i;
J = j;
}
}
}
cout<<"最大值为"<<MAX<<"行下标为"<<I<<"列下标为"<<J<<endl;
return 0;

}


7、在主函数中,通过函数调用的形式,实现两个数据的交换。

#include <iostream>

using namespace std;
void Swap(int &a,int &b){
int c = a;
a = b;
b = c;
}
int main(){
int a,b;
cin>>a>>b;
Swap(a,b);
cout<<"交换后a="<<a<<",b="<<b<<endl;
return 0;

}


8、输出一维数组各元素地址(用指针实现)

#include <iostream>

using namespace std;

int main(){
int a[10],*p;
for(int i=0;i<10;i++){
a[i] = i;
}
p = a;
for(int i=0;i<10;i++,p++){
cout<<p<<" ";
}
cout<<endl;
}


祝大家考个好成绩!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐