C语言 编程题目 程序设计题目 高中信息科技竞赛编程题目 【100分】

2024-12-02 22:54:21
推荐回答(2个)
回答1:

【第一道】
#include
using namespace std;
#define pi 3.14159265
double maxvolume(double a,double b)
{
double v1,v2,r;
r=b/(2*pi+2);
v1=pi*r*r*a;
r=a/(2*pi+2);
v2=pi*r*r*b;
if(v1>v2)
return v1;
else
return v2;
}
int main()
{
double a,b;
cout<<"请输入矩形的长宽:";
cin>>a;
cin>>b;
cout<<"最大圆柱体积:"<return 0;
}

【第二道】
//事实上,涂色方案不止样例上的一种,我把所有的可行方案都输出了一下
#include
using namespace std;
int data[][8]={ {0},
{0,0,1,0,0,0,1,1},
{0,1,0,1,1,1,1,0},
{0,0,1,0,1,0,0,0},
{0,0,1,1,0,1,0,0},
{0,0,1,0,1,0,1,0},
{0,1,1,0,0,1,0,1},
{0,1,0,0,0,0,1,0}
};
int total;
int color[8];
char COLOR[5]={' ','R','Y','B','W'};
void output()
{
total++;
cout<<"["<for(int i=1;i<=7;i++)
{
cout.width(2);
cout<}
cout<}
bool checkcolor(int s)
{
for(int i=1;i<=7;i++)
{
if(data[i][s]==1&&color[i]==color[s])
return false;
}
return true;
}
void drawcolor(int s)
{
if(s>7)
output();
else
for(int i=1;i<=4;i++)
{
color[s]=i;
if(checkcolor(s))
drawcolor(s+1);
}
}
int main()
{
cout<<" \t";
for(int i=1;i<=7;i++)
{
cout.width(2);
cout<}
cout<drawcolor(1);
cout<return 0;
}

回答2:

第一题:先分成2部分,第一部分剪出最大圆,就是取长宽的最小值为半径,计算周长。之后计算体积,保存体积。
逐渐扩大剪出的第一部分的面积,重复上面的计算,将每次计算的结构与第一次计算的体积比较,若新的值大,则保留,反之则弃之。
思路就是这样,程序慢慢做。第二题明天看,吃饭了。。。。