闽江学院软件学院C++半期考试题
总共6道题 随机抽取一道 5分钟内完成 满分10分 未完成0分
1、定义一个类math,有一个计算累加的函数,用于返回一个1-N之间所有数的和
2、定义一个学生类,为该学生提供姓名,数学成绩。一次输入10个学生,计算最终平均分。
3、求1-100所有素数的和。
4、创建一个学生的结构,该结构中有姓名与学生年龄的变量。使用new函数进行该结构内存的动态创建,并使用delete进行内存的撤销。
5、从键盘输输入一个字符串,将该字符串逆序排列后输出
6、从键盘输入3个数,要求按从大到小的顺序将3个数输出(函数)
我自己完成的答案:
1、定义一个类math,有一个计算累加的函数,用于返回一个1-N之间所有数的和
#include <iostream>
using namespace std;
class math
{
public:
int n;
int i;
long s;
long sum(int n)
{
s=0;
for(i=1;i<=n;i++)
{
s=s+i;
}
return s;
}
};
int main()
{
int n1;
cin>>n1;
long sum1;
math m;
sum1=m.sum(n1);
cout<<sum1<<endl;
return 0;
}
2、//定义一个学生类,为该学生提供姓名,数学成绩。一次输入10个学生,计算最终平均分
#include <iostream>
#include <string>
using namespace std;
class student
{
public:
string name;
float mark;
};
int main()
{
student s[10];
int i;
float sum=0;
float avg;
for(i=0;i<10;i++)
{
cin>>s[i].name;
cin>>s[i].mark;
}
for(i=0;i<10;i++)
{
sum=sum+s[i].mark;
}
avg=sum/10;
cout<<avg;
return 0;
}
3、//求1-100所有素数的和
#include<iostream>
using namespace std;
int main()
{
int k=0;
long sum=0;
for(int i=1;i<=100;i++)
{
for(int j=2;j<i;j++)
{
k=1;
if(i%j==0)
{
k=0;
break;
}
}
if(k==1)
{
sum=sum+i;
}
}
cout<<sum<<endl;
return 0;
}
4、//创建一个学生的结构,该结构中有姓名与学生年龄的变量。使用new函数进行该结构内存的动态创建,并使用delete进行内存的撤销。
#include<iostream>
using namespace std;
struct student
{
char name[20];
int age;
};
int main()
{
int n;
student *head;
cout<<”请输入学生人数:”<<endl;
cin>>n;
head = new student[n];
delete[] head;
return 0;
}
5、
#include “iostream”
using namespace std;
int main()
{
char strA[200];
char Temp;
int i=0,Length=0;
cout<<”请输入一个字符串:”;
cin>>strA;
Temp=strA[0];
while(Temp!=’\0′)
{
Length++;
Temp=strA[i++];
}
Length–;
for(i=0;i<Length/2;i++)
{
Temp=strA[i];
strA[i]=strA[Length-i-1];
strA[Length-i-1]=Temp;
}
cout<<strA;
return 0;
}
6、//从键盘输入3个数,要求按从大到小的顺序将3个数输出(函数)
#include “iostream”
using namespace std;
void aa(float a,float b,float c)
{
float x;
if(a<b) {x=a;a=b;b=x;}
if(a<c){x=a;a=c;c=x;}
if(b<c){x=b;b=c;c=x;}
cout<<a<<”,”<<b<<”,”<<c;
}
int main()
{
float a,b,c;
cin>>a;
cin>>b;
cin>>c;
aa(a,b,c);
return 0;
}