c語言zxy
#include<stdio.h>
void main()
{
int sum[3]={0},n,i,j,flag;
int num[3]={5,3,2},max;
char p;
printf("請輸入投票人數: ");
scanf("%d",&n);
printf("請輸入每個人票(如:X Y Z):\n");
for(i=0;i<n;i++)
{
for(j=0;j<3;j++)
{
getchar();
scanf("%c",&p);
switch(p)
{
case 'X':sum[0]+=num[j];break;
case 'Y':sum[1]+=num[j];break;
case 'Z':sum[2]+=num[j];break;
}
}
}
max=sum[0];
for(i=1;i<3;i++)
if(max<sum[i])
max=sum[i];
for(i=0;i<3;i++)
{
if(max==sum[i])
{
flag=i;
break;
}
}
printf("投票結果為:\n");
printf("X:%d Y:%d Z:%d\n",sum[0],sum[1],sum[2]);
switch(flag)
{
case 0:printf("年度先進工作者是:X\n");break;
case 1:printf("年度先進工作者是:Y\n");break;
case 2:printf("年度先進工作者是:Z\n");break;
}
}
可能有點繁瑣,不知符不符合你的要求。
『貳』 C語言入棧與出棧的問題
B
A可以 X進棧 Y進棧 Z進棧 然後Z Y X以此出棧
C可以 X進棧 Y進棧 Y出棧 X出棧 Z進橘塵鋒棧 Z出棧
D可以 X進棧 X出棧 Y進棧兄螞 Y出棧 Z進棧 Z出棧圓晌
『叄』 C語言數據結構 設有三個元素X,Y,Z順序進棧(進的過程中允許出棧),下列得不到的出棧排列是
A x進出y進出z進出
B xy進y出z進出x出
D xyz進z出y出x出
c無法得到
『肆』 求三個不同的數字(c語言)
如果我分析沒錯的話,這三個數應該是2,4,7.
假設這三個數從小打大分別是a,b,c.可以先對所有組合數之和是2886入手,根據組合數的性質,我們可以知道,沒有進位前,每位的和應該是2(a+b+c),則可以得知2(a+b+c)=26;又因為最大和最小的三位數的差是495,我們可以知道c-a=5;針對本題目,從小到大輸出三個數我的程序如下:
for(a=0;a<10-5;a++)
for(b=a+1;b<a+5;b++)
if((2*a+b)==8)
{
printf("a:%d,b:%d,c%d",a,b,a+5);
break;
}