大一下c + +上机实验总目录:大一下c + +上机实验总结目录
1、有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。
解题思路:
(1)设一个结构体数组,数组中包含3个元素
(2)每个元素中的信息应包括候选人的姓名(字符型)和得票数(整型)
(3)输入被选人的姓名,然后与数组元素中的“姓名”成员比较,如果相同,就给这个元素中的“得票数”成员的值加1
(4)输出所有元素的信息
参考答案:
#include <cstring>
#include <iostream>
using namespace std;
//全局结构体数组
struct Person
{
char name[20];
int count;
}leader[3]={
"Li",0,"Zhang",0,"Sun",0};
int main(){
int i,j; char leader_name[20];
for (i=1;i<=10;i++){
cin>>leader_name;
for(j=0;j<3;j++)
if(strcmp(leader_name,leader[j].name)==0)
leader[j].count++;
}
for(i=0;i<3;i++)
cout<<leader[i].name<<"\t"<<leader[i].count;
return 0;
}
2、有一个学生情况如表所示。编写程序,对该学生情况表按成绩(grade)从低到高进行排序。(要求:用多函数分别实现数据的输入,输出,排序,在主函数中调用这些函数完成操作。)
参考答案:
#include<iostream>
using namespace std;
struct student
{
int num;
char name[10];
char sex[5];
int age;
float grade;
}stu[3];
void Input(student stu[],const int);
void Sort(student stu[],const int);
void Output(const student stu[],const int);
int main()
{
int num;
cout<<"输入学生人数"<<" ";
cin>>num;
cout<<"输入学生情况"<<" ";
Input(stu,num);
cout<<"按成绩由低到高排序"<<" ";
Sort(stu,num);
cout<<"输出排序后情况"<<endl