1、6人投票机制
复杂版:
#include<iostream>
using namespace std;
int main(){
int A = 0, B = 0, C = 0, D = 0, E = 0;
int i, j;
while(1)
{
cout<<"****************"<<endl;
cout<<"Over the select?"<<endl;
cout<<"Y:0 N:1"<<endl;
cin>>j;
if(j!=0&&j!=1){
cout<<"WRONG"<<endl;
break;
}
if(j)
{
cout<<"----------------"<<endl;
cout<<"Who?"<<endl;
cin>>i;
if(i>5||i<1){
cout<<"WRONG"<<endl;
break;
}
switch(i)
{
case 1:
A++;
break;
case 2:
B++;
break;
case 3:
C++;
break;
case 4:
D++;
break;
case 5:
E++;
break;
}
}
else break;
}
cout<<"**********"<<endl;
cout<<"A = "<<A<<endl<<"B = "<<B<<endl<< "C = "<<C<<endl<< "D = "<<D<<endl<< "E = "<<E<<endl;
//排序
return 0;
}
简易版:
#include<iostream>
using namespace std;
int main(){
int a[6] = {0};
int vote;
cin>>vote;
while(vote){
a[vote]++;
cin>>vote;
}
for(int i = 0; i < 6; i++)
cout<<a[i]<<" ";
return 0;
}
2、身高分类问题:150以下、150~ 154、155 ~ 169、170 ~ 174、175 ~ 179、180以上
#include<iostream>
using namespace std;
int mian(){
int height, a[s] = {0};
cin>>heigh;
while(heigh){
if(heigh < 150) a[0]++;
else if(heigh > 179) a[7]++;
else a[height/5 - 29]++;//数学问题,利用到“/”的特性“整除”
cin>>heigh;
}
for(int i = 0; i <8; i++)
cout<<a[i]<<" ";
return 0;
}
3、求一本书的某一页之前页上各个数字出现的次数
#include<iostream>
using namespace std;
void count(int*, int);
int main(){
int page, a[10] = {0};
cin>>page;
count(a, page);
for(int i = 0; i < 10; i++)
cout<<i<<"的个数为: "<<a[i]<<endl;
return 0;
}
void count(int*a, int n){
for(; n > 0; n--){
int sum = n;
int m;
while(sum != 0){
m = sum%10;
sum /= 10;
a[m]++;
}
}
}