1.继续学习C语言,学习了p34递归,知道了递归是函数调用自身,必须设置停止条件,否则程序会因为反复运行而崩溃,递归的运行速度没有迭代快,会占很多内存
2.继续洛谷写题,想去试试蓝桥杯
- 5716记得判断闰年
- 1085在接收多天的数据时可以通过使用for循环来接收,再for循环里比较
- 1909最开始没有分,因为将等于号 "==" 写成了赋值号 "=" ,感觉思路是对的,但是不知道错在哪
#include<stdio.h>
int main()
{
int i,n,a,b,he,sum,min;
scanf("%d",&n);
for(i=0;i<3;i++)
{
scanf("%d %d",&a,&b);
if(n%a==0)
{
he=n/a;
}
else
{
he=n/a+1;
}
sum=he*b;
//等于是 "=="
if(min==0 || sum<min)
{
min=sum;
}
}
printf("%d\n",min);
return 0;
}
- 1055图书号码牌问题
我们可以直接用一个char类型的数组接收用户输入的号码牌,然后for循环前面的12个元素;
来判断是否不是 "-",不是则将其 +'0'转换为数字,并乘以相应的数字,通过for循环相加每一个结果;
总和%11得到标识符,判断标识符是否正确,之后输出
#include<stdio.h>
int main(void)
{
char s[14],c; //输入的统一放在数组里,c标识符
scanf("%s",&s);
int h=0,k=0;//h总和,k乘几
for(int i=0;i<11;i++)//11 第九位数字
{
if(s[i]!='-')
{
k++;
h+=k*(s[i]-'0');// -'0'为了将字符串变成普通数字
}
}
h=h%11;
if(h==10)
{
c='X';
}
else
{
c=h+'0';
}
if(c==s[12])
{
printf("Right");
}
else
{
s[12]=c;
printf("%s",s);
}
return 0;
}
- 1422电费,使用if...else if...else进行判断求电费