各位C语言高手请进,恳请各位高手帮帮鄙人,谢谢!!!!!!!

请各位C语言高手帮帮忙,下星期就要交,谢谢!!!!!!1、投票程序:设有代号为’a’,’b’,’c’的三个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5... 请各位C语言高手帮帮忙,下星期就要交,谢谢!!!!!!

1、
投票程序:设有代号为’a’,’b’,’c’的三个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5,3,2。 请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。注意:若同一张票上写有两个相同的代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则显示三个候选者得分并输出“祝贺X当选冠军!”。
例如:投票人数:5
输入投票内容:
a b c
c a b
c a a
该票无效 !
c b a
b c a
三位候选人得分:a:8
b:11
c:15
祝贺c当选冠军!

2、编程实现:程序首先输出如下菜单信息:
1、打印三角形图案
2、打印长方形图案
3、打印菱形图案
请选择(1-3):
程序根据用户选择,给出如下提示:
请输入所打印图案的行数:(若用户选择3,则提示用户只能输入正的奇整数)
比如:用户选择1、行数为5,选择2、行数为5,选择2、行数为5,则分别打印如下图案:
A AAAAAAAAAA A
BBB BBBBBBBBBB BBB
CCCCC CCCCCCCCCC CCCCC
DDDDDDD DDDDDDDDDD DDD
EEEEEEEEE EEEEEEEEEE E

3、编程实现:根据用户输入的正整数n(n<8),计算1!-2!+3!-4!+…+n!(n为奇数)或1!-2!+3!-4!+…+(n-1)!-n!(n为偶数)。

*4、编程实现:用户从键盘输入任一不超过8位的正整数,输出该数是几位数并输出该数所有质因数的和。
请尽快解答,谢谢!!!!!
展开
 我来答
百度网友14ba34178
2007-01-05 · TA获得超过155个赞
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
本程序包含你以上所要解决的四道题~~
可直接运行!!

#include "stdio.h"
#include "math.h"
void timu1()
{
int num,a[3]={0},i,t;
int fenshu[3]={5,3,2};
char result[3],s;
printf("\n******************************谢谢您已进入第一题目******************************\n");
printf("请问共有多少人投票?\n");
scanf("%d",&num);
while(num--)
{
for(i=0;i<3;i++)
{
s=getchar();
while(s!='a' && s!='b' && s!='c')
s=getchar();
result[i]=s;
}
if(result[0]+result[1]+result[2]!='a'+'b'+'c')
printf("该票无效 ! \n");
else
{
for(i=0;i<3;i++)
switch(result[i])
{
case 'a': a[0]+=fenshu[i];break;
case 'b': a[1]+=fenshu[i];break;
case 'c': a[2]+=fenshu[i];break;
}
}
}
printf("三位候选人得分:\n");
for(i=0;i<3;i++)
printf("%c: %d\n",'a'+i,a[i]);
t=0;
for(i=1;i<3;i++)
if(a[t]<a[i]) t=i;
printf("祝贺%c当选冠军!\n",'a'+t);
return ;
}

void timu2()
{
int i,j,n,hang,t;
printf("\n******************************谢谢您已进入第二题目******************************\n");
printf(" 现俺只给你如下三种选择:(若有意见,请输入不是这三数的任何符号)\n");
printf(" 1、打印三角形图案\n 2、打印长方形图案\n 3、打印菱形图案\n");
printf("\n 请做选择...... ");
scanf("%d",&n);
if(n==1 || n==2 || n==3)
{
printf("\n您要输出多少行的啊?");
if(n==3) printf("(对不起,对于该项,你只能输入正奇数!)");
printf("\n ");
scanf("%d",&hang);
if(hang>=27 || (hang%2==0 && n==3))
{
printf("\n您不按提示操作,我只能强制推出\n ");
n=10;
}
else
{
switch(n)
{
case 1:
{
for(i=0;i<hang;i++)
{
printf(" ");
for(j=0;j<=i;j++)
printf("%c",'A'+i);
printf("\n");
}
break;
}
case 2:
{
for(i=0;i<hang;i++)
{
printf(" ");
for(j=0;j<10;j++)
printf("%c",'A'+i);
printf("\n");
}
break;
}
case 3:
{
for(i=0,t=0;i<hang;i++)
{
printf(" ");
for(j=0;j<hang;j++)
{
if(j < hang/2-t || j> hang/2+t ) printf(" ");
else printf("%c",'A'+i);
}
if(i<hang/2) t++;
else t--;
printf("\n");
}
break;
}
}
}
}
return ;
}

void timu3()
{
int result=1,sum=1;
int n,fuhao=-1,i;
printf("\n******************************谢谢您已进入第三题目******************************\n");
printf("本题将计算这个式子:\n 1!-2!+3!-4!+…+n!(n为奇数)或1!-2!+3!-4!+…+(n-1)!-n!(n为偶数)。 \n\n");
printf("怎么样?有意见没?\n 没意见请输入数据,否则出入 -1 ");
printf("数据(n<=8): n = ");
scanf("%d",&n);
if(n!=-1)
{
if(n>8) printf("\n由于您不严格操作,将自动退出这个题目。谢谢使用!\n");
else
{
for(i=2;i<=n;i++)
{
sum*=i;
result+=fuhao*sum;
fuhao*=-1;
}
printf("结果是:\n");
for(i=1;i<=n;i++)
{
printf("%d!",i);
if(i!=n)
{
if(i%2) printf("-");
else printf("+");
}
}
printf(" = %d\n",result);
}
}
return ;
}

void timu4()
{
long shu,p, i,t=0,j;

printf("\n******************************谢谢您已进入第四题目******************************\n");
printf("请输入一个整数(位数不超过8位):\n");
scanf("%ld",&shu);
if(shu>100000000) printf("\n由于您不严格操作,将自动退出这个题目。谢谢使用!\n");
else
{
p=shu;
while(p)
{
p/=10;
t++;
}
printf("此数是%d位数\n",t);
t=0;
p=shu/2;
for(i=2;i<=p;i++)
if(shu%i==0)
{
for(j=2;j<=(int)sqrt(i);j++)
if(i%j==0) break;
if(j>(int)sqrt(i))
t+=i;
}
for(j=2;j<=(int)sqrt(shu);j++)
if(shu%j==0) break;
if(j>(int)sqrt(shu)) t+=shu;
printf("此数所有质因数的和为:%ld\n",t);
}
return ;
}

int main()
{
int ID,ture=0;
printf("\n!!!!!!!!!!!!!!!!!!!!!!!!!!此程序专门为您设计。祝你用得愉快!!!!!!!!!!!!!!!!!!!!!!\n");
while(1)
{
printf(" 请输入题号(1/2/3/4):(如想退出,请输入任何不是题号字符!)\n ");
scanf("%d",&ID);
getchar();
switch(ID)
{
case 1: timu1();break;
case 2: timu2();break;
case 3: timu3();break;
case 4: timu4();break;
default : ture=1;break;
}
if(ture!=1) printf("*******************************本题已解决谢谢使用*******************************\n");
printf("\n");
if(ture) break;
getchar();
printf("\n请按任何键继续......\n");
getchar();
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晓风残月清杨柳
2007-01-05 · TA获得超过272个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:250万
展开全部
50块钱
大哥我1个小时给你解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式