| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1482 人关注过本帖
标题:统计选票
只看楼主 加入收藏
qin888
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2010-3-18
结帖率:90.91%
收藏
已结贴  问题点数:7 回复次数:7 
统计选票
某学校的学生会换届,有A、B、C、D、E、F六名学生竞选学生会主席,参加投票的学生代表现有15名,他们在选票上写A-F字母(大小写都可),表示投了对应候选人一票,请编一程序来统计选票。

请帮我写个程序!如果有相关的解释就更好了!!!
谢谢!!!
搜索更多相关主题的帖子: 统计 选票 
2010-04-24 01:16
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:1 
你可以定义一个六个元素的数组来分别存储这六名候选人的选票数。
自己试着实现一下。

南国利剑
2010-04-25 16:50
wow51
Rank: 2
等 级:论坛游民
帖 子:16
专家分:27
注 册:2010-4-6
收藏
得分:1 
这个只需要用循环+判断就可以实现了 自己动手写一下吧!
2010-04-26 13:58
boyhailong
Rank: 2
等 级:论坛游民
帖 子:4
专家分:23
注 册:2010-4-23
收藏
得分:1 

程序代码:
#include <iostream>
using namespace std;
int main( )
{
  char *voters = new char[16];
  int *vote = new int[7]();
  /*char temp;*/
  /*cout << "Please input 'A to F' to vote :" << endl;*/
  for(int i = 0; i < 16; ++i)
  {
     do
     {
         cout << "Please input rignt 编号'A-F' "<< endl;
         cin >>voters[i];
     }while(voters[i]< 'A' || voters[i] > 'F');
     switch(voters[i])
     {
             case 'A':
         ++vote[0];
         break;
              case 'B':
         ++vote[1];
         break;
              case 'C':
         ++vote[2];
         break;
              case 'D':
         ++vote[3];
         break;
              case 'E':
         ++vote[4];
         break;
              case 'F':
         ++vote[5];
         break;
     }
    
  }
  for(int i =0; i < 6; ++i)
      cout << "" << i + 1 << "个选手得票为:" << vote[i] << endl;
  delete [] vote;
  delete [] voters;
}
2010-04-26 16:51
xueyuhanhai
Rank: 4
等 级:业余侠客
帖 子:90
专家分:238
注 册:2010-4-5
收藏
得分:1 
楼主我对4楼的程序再 VC++6.0运行了一下,发现他对申请的整型数组没有初始化,导致了程序在统计选票时总是出现负数。是由于系统给他赋了任意的值造成的。
// saf.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream.h"


int main(int argc, char* argv[])
{
      char *voters = new char[16];//用于存放选票
      int *vote = new int[6];//用于对6个候选人的计票
      vote[0]=0;vote[1]=0;vote[2]=0;vote[3]=0;vote[4]=0;vote[5]=0;//初始化
      for(int i = 0; i < 16; ++i)
      {
         do
         {
             cout << "Please input rignt 编号'A-F' "<< endl;
             cin >>voters[i];
         }while(voters[i]< 'A' ||voters[i]>'F');
         switch(voters[i])
         {
                 case 'A':
             ++vote[0];
             break;
                  case 'B':
             ++vote[1];
             break;
                  case 'C':
             ++vote[2];
             break;
                  case 'D':
             ++vote[3];
             break;
                  case 'E':
             ++vote[4];
             break;
                  case 'F':
             ++vote[5];
             break;
         }
   
      }
      for(int j=0; j<6; ++j)//这个地方4楼用的i,我在运行时总是报错;郁闷,所以我改为了j;
          cout << "第" << j+1 << "个选手得票为:" << vote[j] << endl;
      delete [] vote;
      delete [] voters;
        printf("Hello World!\n");
        return 0;
}
比较佩服四楼。

[ 本帖最后由 xueyuhanhai 于 2010-4-30 20:42 编辑 ]
2010-04-30 20:37
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
收藏
得分:1 
对于用到动态内存分配,我不太理解,这里数组长度是已知的,虽说动态内存分配,有助于自己控制,但是过多使用使用,会产生残渣,这里内存需求量也不大,不需要动态内存分配吧。对于更具体什么时候用动态内存分配,我不是很清楚,求解释!
2010-05-01 23:25
lanyu111
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-02 11:30
qin888
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2010-3-18
收藏
得分:0 
谢谢你们!!!
2010-05-02 22:16
快速回复:统计选票
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029496 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved