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;
}