前幾天給個人寫了~~ 也這四道題目,算了,也順便轉給妳吧.
下面是將四道題目,寫成壹個程序/
#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;
}