程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> (c語法百題45)選票統計,45選票

(c語法百題45)選票統計,45選票

編輯:關於C語言

(c語法百題45)選票統計,45選票


注意點:

文章來自博客園,作者:Ls_Hacker_柏楊(http://www.cnblogs.com/hlwyfeng/)

函數的定義和調用,注意聲明

int max(int xx,int yy,int zz);  int min(int xxx,int yyy,int zzz);

注意符號數組,比如 char a[10];數組a中有10個元素,a[0]~a[9],但是,裡面不能裝10個字符,因為符號數組最後有個'\0',自動的。

char a[1000];

for (i=0;i<=n;i++) 不是字符數組的話,是i<n,但是因為是字符數組有'\n',所以用i<=n,細節問題要注意。

注意  i++與++i 的區別

i=i+1;與++i等價

對if的更深入了解

注意比較兩個數大小的方法

m=yy>zz?yy:zz;  n=xx>m?xx:m;

 

 

內容: abc三個人,n個人投票(n需要輸入),統計abc三人的票數,abc三個字母以外的字符為棄權,按得票多少打印候選人和票數(相同票數按abc字母順序輸出)

輸入說明:

 

第一行 n 代表有個人投票

第二行有n個字符(字母不區別大小寫,如a和A都代表投給a票,abc 以外的字符棄權)

 

輸出說明:

三行每行第一為字母(只能為abc之一,然後是得票數),按從大到小順序

 

輸入樣例:

6 abcA1b

 

輸出樣例 :

a 2 b 2 c 1

 

#include <stdio.h>
int main()
{
 int max(int xx,int yy,int zz);    
 int min(int xxx,int yyy,int zzz);
 char a[1000];
 int n,i,x=0,y=0,z=0,t,h;
 scanf("%d",&n);
 for (i=0;i<=n;i++)                 //控制數組容量
 {
  
  a[i]=getchar();
  if (a[i]=='a'||a[i]=='A')         //這裡也可用ASCLL碼,'a'為97
  {
   ++x;
  }
  if (a[i]=='b'||a[i]=='B')
  {
   ++y;
  }
  if (a[i]=='c'||a[i]=='C')
  {
   ++z;
  }
 }
 t=max(x,y,z);
 h=min(x,y,z);
 if (t!=h)                           //排除了a,b,c數量相同的情況
 {
  if (x==t)
  {
   printf("a %d\n",x);
  }
  if (y==t)
  {
   printf("b %d\n",y);
  }
  if (z==t)
  {
   printf("c %d\n",z);
  }
  if (x>h&&x<t)
  {
   printf("a %d\n",x);
  } 
  if (y>h&&y<t)
  {
   printf("b %d\n",y);
  }
  if (z>h&&z<t)
  {
   printf("c %d\n",z);
  }
  if (x==h)
  {
   printf("a %d\n",x);
  } 
  if (y==h)
  {
   printf("b %d\n",y);
  }
  if (z==h)
  {
   printf("c %d\n",z);
  }
 }
 else printf("a %d\nb %d\nc %d\n",x,x,x);
 return 0;
}
int max(int xx,int yy,int zz)
{
 int m,n;
 m=yy>zz?yy:zz;
 n=xx>m?xx:m;
 return (n);
}
int min(int xxx,int yyy,int zzz)
{
 int m,n;
 m=yyy<zzz?yyy:zzz;
 n=xxx<m?xxx:m;
 return (n);
}

 


新手助 vb方面 統計選票 顯示語法錯誤

a = Val(InputBox("請輸入選票,棄權請輸0 ,結束請輸入 -1", "輸入框"))
你分隔符用了中文標點 ,  只能用 ,
 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved