当前位置:编程学习 > C/C++ >>

寻找两道有趣的C语言题

想找两道有趣一些的C语言问题,请给出问题(最好有答案)
答案:#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>

 clock_t f,p;

 int s,len,i,j;
 char n[10];
 char dot[5][13];
 char *wt=" ",bl[2];
 char tp[2][12];
 char clum[2][105];

void creat(){
 for(i=0;i<5;i++)
  for(j=1;j<13;j++)
   dot[i][j]=0;
 dot[0][0]=' ';
 dot[1][0]=' ';
 dot[2][0]=bl[0];
 dot[3][0]=' ';
 dot[4][0]=bl[0];

 for(i=0;i<2;i++)
  for(j=0;j<105;j++)
   clum[i][j]=0;

 for(i=0;i<s;i++)
 {
  tp[0][i]=' ';
  tp[1][i]=bl[0];
 }
 tp[0][i]='\0';
 tp[1][i]='\0';

 strcat(dot[1],tp[1]);
 for(i=0;i<5;i++)
 {
  if(i!=1)strcat(dot[i],tp[0]);
  if(i<3)
   strcat(dot[i],wt);
  else
   strcat(dot[i],bl);
 }
}

int main(){
 scanf("%s",bl);
 s=5;
 n[0]='0'-1;
 n[1]='\0';
 while(n[0]<'9')
 {
  system("cls");
  n[0]++;
  if(s==0&&strcmp(n,"0")==0)break;
  creat();
  len=strlen(n);
  for(i=0;n[i]!='\0';i++)
  {
   switch(n[i])
   {
   case '1':
   case '4':printf("%s",dot[0]);break;
   default: printf("%s",dot[1]);
   }
   if(len-i-1)
    printf(" ");
   else
    printf("\n");
  }

  for(i=0;n[i]!='\0';i++)
  {
   switch(n[i])
   {
   case '1':
   case '2':
   case '3':
   case '7':strcat(clum[0],dot[3]);break;
   case '5':
   case '6':strcat(clum[0],dot[2]);break;
   default: strcat(clum[0],dot[4]);
   }
   if(len-i-1)
    strcat(clum[0],wt);
  }
  for(i=0;i<s;i++)
   printf("%s\n",clum[0]);

  for(i=0;n[i]!='\0';i++)
  {
   switch(n[i])
   {
   case '0':
   case '1':
   case '7':printf("%s",dot[0]);break;
   default: printf("%s",dot[1]);
   }
   if(len-i-1)
    printf(" ");
   else
    printf("\n");
  }

  for(i=0;n[i]!='\0';i++)
  {
   switch(n[i])
   {
   case '0':
   case '6':
   case '8':strcat(clum[1],dot[4]);break;
   case '2':strcat(clum[1],dot[2]);break;
   default: strcat(clum[1],dot[3]);
   }
   if(len-i-1)
    strcat(clum[1],wt);
  }
  for(i=0;i<s;i++)
   printf("%s\n",clum[1]);

  for(i=0;n[i]!='\0';i++)
  {
   switch(n[i])
   {
   case '1':
   case '4':
   case '7':printf("%s",dot[0]);break;
   default: printf("%s",dot[1]);
   }
   if(len-i-1)
    printf(" ");
   else
    printf("\n");
  }
  printf("\n");
  p=f=clock();
  while((p-f)/1000<2)//设置为2秒改变一次
   p=clock();
 }
 return 0;
}

你输一个数字看看啊,呵呵

问题:一个笼子中有鸡兔各若干只,已知共有50只脚,20张嘴,问笼中各有鸡多少只,兔多少只?编程实现求解。

main()
{
 int x,y;  //定义鸡X只,兔Y只,
 for(x=0;x<=20;x++)  //循环判断
 {y=20-x;//兔子的只数等于20减去鸡的只数
   if(2*x+4*y==50) //判断鸡加兔子的脚总数为50
    printf("%d ,%d\n",x,y);//我用WIN-TC运行了,鸡为15只,兔为5只
 }


    getch();
}

 

上一个:您能发给我一些C语言习题吗?
下一个:c语言是什么,在哪能用到

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,