#include
#include
#include
#include
#include
void
jiemian()
{
printf("\n***************C程序设计综合实训项目选择菜单***************\n\n");
printf("\t\t\t1.恢复旧帐本\n\n");
printf("\t\t\t2.二次方程根\n\n");
printf("\t\t\t3.侦探破悬案\n\n");
printf("\t\t\t4.狗熊掰玉米\n\n");
printf("\t\t\t5.我画金刚石\n\n");
printf("\t\t\t6.百元买百笔\n\n");
printf("\t\t\t7.统计单词数\n\n");
printf("\t\t\t8.下次见,88!\n\n");
printf("***************学号:G10240112 姓名:李长柱 **************\n");
printf("请输入您的选择<1-8>:\n");
}
int
xuanze()
{
int
i;
scanf("%d",&i);
return
i;
}
void f1(
)
{
int i;
system("cls");
printf("1.恢复旧帐本\n一只老鼠咬坏了帐本,公式中符号□代表是被老鼠咬掉的地方。要想恢复下面的等式,应在□中填上哪个相同的数字?3□
X 6237=□
3 X 3564\n\n");
getch();
for(i=0;i<=9;i++)
if((30+i)*6237==(i*10+3)*3564)
printf("\n答案为
□为 %d",i);
}
void f2(
)
{
float a,b,c,x,y,d;
system("cls");
printf("2.二次方程根\n这里要求编制一个求方程ax2+bx+c=0的根的程序。一般将系统设计成float型,可以把变量设为double型,使用库函数sqrt求平方根,sqrt在头文件math.h中定义.\nrghfs\n");getch();
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{x=(-b+sqrt(d))/(2*a);
y=(-b-sqrt(d))/(2*a);
printf("x1=%f\nx2=%f",x,y);}
else if(d==0)
{x=-b/(2*a);
y=-b/(2*a);
printf("x1=x2%f\n",x);}
else
{printf("无实数根");
}
}
void f3(
)
{
int i,j,x,c,k;
system("cls");
printf("3.侦探破悬案\n这是一道侦探题。一辆汽车撞人后逃跑。4个目击者提供如下线索:\n");
printf("甲:牌照三、四位相同\n");
printf("乙:牌号为31XXXX\n");
printf("丙:牌照五、六位相同\n");
printf("丁:三--六位是一个整数的平方\n");
printf("该牌照到底是多少\n");
printf("程序执行时,要求先出现以下画面\n\n");
getch();
for(i=1;i<=9;i++)
for(j=1;j<=9;j++)
{k=i*1000+i*100+j*10+j;
x=(int)sqrt(k);
if(k==x*x)
printf("牌照号码是:\n",310000+k);
}
}
void
f4()
{
int day=10,x=1,y;
system("cls");
printf("4狗熊掰玉米\n本题是一个笑话,说是有一只狗熊到玉米地里掰玉米,一边掰一边吃。第一天吃了一半,又拿走一个回去喂小狗熊。第二天又去吃了剩下的一半,走时仍然带一个回去喂小狗熊。以后每天都吃剩下的一半,拿走一个。到第十天时,地里只剩下一个玉米。求地里一共有多少玉米。\n\n");getch();
while(day>0)
{y=(x+1)*2;
x=y;
day--;}
printf("玉米数为%d",x/2-1);
}
void
f5()
{
int i,j,k;
system("cls");
printf("5.我画金刚石\n本题要求编制打印以下图案的程序,注意题目还要求在左边留出一定空格。\n\n");
getch();
for(i=1;i<=4;i++)
{for(j=1;j<=16-i;j++)
printf(" ");
for(k=1;k<=(2*i-1);k++)
printf("*");
printf("\n");}
for(i=1;i<=3;i++)
{for(j=1;j<=i+12;j++)
printf(" ");
for(k=1;k<=(7-2*i);k++)
printf("*");
printf("\n");}
}
void
f6()
{
int x,y,z;
system("cls");
printf("百元买百笔\n现在有100元钱.要买100只笔.笔有3种铅笔0.5元一支圆珠笔2元一支钢笔3元一支\n\n");getch();
for(x=1;x<=100;x++)
for(y=1;y<=50;y++)
for(z=1;z<=40;z++)
if(0.5*x+2*y+3*z==100&&x+y+z==100)
printf("铅笔买%d\n圆珠笔买%d\n钢笔买%d\n\n",x,y,z);
}
void
f7()
{
char string[81];
int i,num=0,word=0;
char c;
system("cls");
c=getchar();
printf("输入一行字符,由程序来统计出其中的单词个数\n\n");
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c==' ')word=0;
else if(word==0)
{word=1;
num++;}
printf("there are %d words in this line.\n",num);
}
void
f8()
{
system("cls");
printf("\n\n下次见,88!");
}
main()
{
int i;
while(1)
{jiemian();
i=xuanze();
switch(i)
{
case
1:f1();break;
case
2:f2();break;
case
3:f3();break;
case
4:f4();break;
case
5:f5();break;
case
6:f6();break;
case
7:f7();break;
case
8:f8();exit(0);
}
getch();
system("cls");
}
}