马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 6bingame 于 2024-11-27 16:08 编辑
简单算法
书本例题
解方程
题1:计算下面的分段函数
算法描述
(1)输入x的值
(2)判断x是否大于0,若大于0,则y为2x-1,然后转步骤(5),否则进行步骤(3)
(3)判断x是否等于0,若等于0,则y为0,然后转步骤(5),否则进行步骤(4)
(4)y为3x+1(因为步骤(2)、步骤(3)条件不成立,则肯定步骤(4)条件成立)
(5)输出y的值后结束
解:#include<stdio.h>
int main()
{
int x,y;
printf("请输入x的值:"); //输入提示信息
scanf("%d",&x); //由键盘输入x的值
if(x>0) //若x>0,执行下条语句
y=2*x-1;
else if(x==0) //若x==0,执行下条语句
y=0;
else //若x<0,执行下条语句
y=3*x+1;
printf("y=%d\n",y); //输出y的值
return 0;
}
用自然语言表示算法
题2:
用自然语言描述s=1+2+...+100的算法
第1步:算法分析
原始的数学方法如下
(1)先求1+2,得到结果3
(2)将步骤(1)得到的乘积3加上3,得到结果6
(3)重复上述过程,直到加到100,得到5050
第2步:算法描述
S1:把0放入s单元
S2:把1放入i单元
S3:将s+i赋给s
S4:i值加1
S5:判断i是否小于等于100,是,转S3,否则转S6
S6:输出s的值,结束
解:#include<stdio.h>
int main()
{
int sum,i;
sum=0; //sum初始设为0
for(i=1;i<=100;i++)
sum+=i;
printf("1+2+...+100=%d\n",sum);
return 0;
}
题3:判断2010~2050年中的哪一年是闰年,将结果输出(闰年的条件是:能被4整除,但不能被100整除;或者能被400整除的年份)
算法描述
设y为被检测的年份,用自然语言描述如下
S1:将2010放入y单元
S2:若y不能被4整除,则转到S5
S3:若y能被4整除,不能被100整除,则输出y,然后转到S5
S4:若y能被400整除,则输出y,然后转到S5
S5:将y+1赋给y
S6:当y<=2050时,转S2继续执行,如果y>2050,结束
解:#include<stdio.h>
int main()
{
int y; //被检测的年份
for(y=2000;y<=2050;y++) //y从2000循环到2050,执行以下的语句
{
if(y%4==0&&y%100!=0||y%400==0) //若y为闰年,则输出y的值
printf("%d ",y);
}
printf("\n");
return 0;
}
|