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

请各位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位的正整数,输出该数是几位数并输出该数所有质因数的和。
请尽快解答,谢谢!!!!!

第1个回答  2007-01-05
本程序包含你以上所要解决的四道题~~
可直接运行!!

#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;
}本回答被提问者采纳
第2个回答  2007-01-05
50块钱
大哥我1个小时给你解决

c语言高手请进来!
int i=-1;printf("%d,%o\\n",i,i)上面那大哥说的差不多了,只是%d是表示10进制的,%o是表示8进制的,关于在内存中怎么存贮转化你可以参考下清华大学出版社的 计算机基础,。大一的学生用的。8进制的177777转化成10进制并不是-1,这和在内存中的存储有关系,具体说太复杂了,你去自己看下吧。

编程高手请进!(C语言)
1.include <stdio.h> include<stdlib.h> include<ctype.h> main(){ int count;\/*猜数字的次数*\/ int number;\/*系统产生的随机数字*\/ int guess;\/*程序员输入数字*\/ char yes='Y';clrscr();printf("\\nNow let us play the game.\\n Guess the number:");while (toupper(yes)=='Y'...

C语言的高手进来看看!!
可以这么来,先设一个全局变两,然后在你想引用的变量所在的函数中将该变量的值赋给你之前设的全局变量,这样你就可以通过引用这个全局变量来实现你要的引用了。

C语言 四则运算程序 高手帮帮忙!!!
case 1:printf("欢迎来到加法运算测试系统,如需退出请输入9999\\n");fuhao='+';break;case 2:printf("欢迎来到减法运算测试系统,如需退出请输入9999\\n");fuhao='-';break;case 3:printf("欢迎来到乘法运算测试系统,如需退出请输入9999\\n");fuhao='*';break;case 4:printf("欢迎来到除法运算...

各位高手,请帮我用C语言编写一个程序,急,在线等..
while(languagec>100||languagec<0){ printf("Out of range. please input again:\\nmath:");scanf("%f",&languagec);} total=math+english+languagec;for(int j=0;jscore[j][3])break;for(int k=i;k>j;k--){ for(int l=0;l<4;l++)score[k][l]=score[k-1][l];for(int ...

C语言高手请进!sqrt(N) 用在这里不明白???
void main(){ int i,j,line,a[N];for(i=2;i<N;i++)a[i]=i;for(i=2;i<sqrt(N);i++) \/\/N如果能被某数a整数,则a的平方小于N;否则必然存在一个b,使得a*b=N,且b的平方小于N.所以只需测试2到sqrt(N)即可知道是否有一个数能整除N for(j=i+1;j<N;j++){ if(a[i]!=0...

关于c语言的问题,高手都进来看看,分高很哦!!!
关于c语言的问题,高手都进来看看,分高很哦!!! 编译一个文档形式的c程序:比如一个学生的数据库:其中包括(1)查找某个学生的数据;(2)删除某个学生的数据;(3)插入某个学生的数据;(4)对学生数据库进行排序(比如按照:数学... 编译一个文档形式的c程序:比如一个学生的数据库:其中包括(1)查找某个学生的数据;(...

c语言 i=10 j=~i j的值等于11???为什么??? 请高手指点
数字在计算机中都是以补码存放的。10的补码为00000000 00000000 00000000 00001010 ~i,即取反,故得:11111111 11111111 11111111 11110101 这是在计算机中存放得值,是一个数得补码,那么这个补码所对应的原码是多少呢(补码转源码的知识,源码=补码取反再加1)符号位保持不变,1表示负号,即:10000000...

请各位高手帮忙做几道c语言的编程题
void main(){ int i;int sum=0;for(i=2; i<101; i++){ if(isP(i))sum += i;} printf("the sum is:%d\\n",sum);} int isP(int n){ int i;for (i=2; i<=n\/2; i++){ if(n%i == 0)return 0;} return 1;} (2)include <stdio.h> void main(){ char str[50...

求助!单片机c语言编程高手请进(全分加给)
那些叫关键字,是C语言本身的一部分,是固定的,二三十个,和一些伪指令,用多了就觉得不外乎就是几个字母的组合,根英文无关,并且单是靠关键字是掌握不了C的,好好学学C语言吧!C语言简单并非常有用.

相似回答