题目1:
/*题目1:(鸡兔同笼)一个笼子里关了鸡和兔子(鸡2只脚,兔子4只脚)。已经知道笼子里脚的总数a,问
笼子中至少有多少只动物,至多有多少只动物?*/
#include
int main()
{
printf("Please enter the num of feet:");
int sum;
scanf("%d",&sum);
printf("the maxnum of animal is %d\n",sum/2);
if(sum%4==0)
printf("the minnum of animal is %d\n",sum/4);
else printf("the minnum of animal is %d\n",sum/4+1);
return 0;
}
题目2:
/*题目2:(装箱问题)某工厂生产的产品形状都是长方体,高度均为h,长和宽都相同,一共有6种型号,长宽
分别为1*1、2*2、3*3、4*4、5*5、6*6。这些产品使用一个6*6*h的长方体包装。现在要求输入6个
整数分别代表不同型号产品的数量,求最少需要几个包装箱。*/
#include
int main()
{
int a,b,c,d,e,f,sum1,sum2,sum,fminy,fmaxy,eminy,emaxy;
printf("Please enter the num of each box from 1*1 to 6*6:\n");
scanf("%d",&f);
scanf("%d",&e);
scanf("%d",&d);
scanf("%d",&c);
scanf("%d",&b);
scanf("%d",&a);
sum1=sum2=a+b+c+d/4;//a以及d/4皆可满足自给填满
if(f>(36-25)*b)
if(4*e+f>(36-25)*b+(36-16)*c)
if(4*e+f>(36-25)*b+(36-16)*c+(36-9)*(d%4))
{
fminy=f-11*b-20*c-27*(d%4);//由线性,选出e,f的极限余值,分别求sum,取最小
fmaxy=f-11*b-15*d;
eminy=e-5*c-3*d;
emaxy=e;
if((fminy+4*emaxy)%36==0)
sum1+=(fminy+4*emaxy)/36;
else sum1+=(fminy+4*emaxy)/36+1;
if((fmaxy+4*eminy)%36==0)
sum2+=(fmaxy+4*eminy)/36;
else sum2+=(fmaxy+4*eminy)/36+1;
}
sum=sum1>sum2?sum2:sum1;
printf("The least necessary num of box:%d\n",sum);
return 0;
}
题目3:
/* 题目3:请写一个程序,对于一个m行m列(2 元素之和,最后按照从大到小的顺序依次输出。*/ #include #define m 4//自定义数组类型大小m(2 int main() { int tt=0,dd=0,sum1=0,sum2=0,sum3=0,sum4=0; int a[m][m]; printf("%d*%d数组\n",m,m); while(tt { printf("请逐个输入第%d行的数据:",tt+1); while(dd { scanf("%d",&a[tt][dd]); dd++; } dd=0; tt++; } tt=0; printf("\n"); while(tt { while(dd { sum1+=a[tt][dd]; sum2+=a[dd][tt]; dd++; } printf("第%d行数据和为:%d ",tt+1,sum1); printf("第%d列数据和为:%d\n",tt+1,sum2); dd=0; tt++; sum1=sum2=0; } tt=0; dd=0; printf("\n"); while(tt { sum3+=a[tt][tt]; tt++; } printf("主对角线数据和为:%d\n",sum3); while(dd { sum4+=a[dd][m-1-dd]; dd++; } printf("副对角线数据和为:%d\n",sum4); int i,j,cc; for(cc=0;cc for(i=0;i for(j=0;j { if(j!=m-1) { if(a[i][j] { int temp; temp=a[i][j]; a[i][j]=a[i][j+1]; a[i][j+1]=temp; } } else if(i!=m-1&&j==m-1)//异行 {