循环程序结构课堂练习题解
A
如果药够, 则拿药, 否则记录
#include <stdio.h>
int main()
{
int m, n, i;
scanf("%d", &m);
scanf("%d", &n);
int ans = 0;
for(i = 1; i <= n; i ++ )
{
int temp;
scanf("%d", &temp);
if(m >= temp)
{
m -= temp;
}
else
{
ans ++;
}
}
printf("%d\n", ans);
}
B
每次判断三种情况即可
#include <stdio.h>
int main()
{
long long n, i, c, d, a, b;
scanf("%lld", &n);
scanf("%lld%lld", &a, &b);
for(i = 1; i < n; i ++ )
{
scanf("%lld%lld", &c, &d);
if(20 * (a * d - b * c) > a * c)
{
puts("better");
}
else if(20 * (b * c - a * d) > a * c)
{
puts("worse");
}
else
{
puts("same");
}
}
}
C
预处理好再输出
#include <stdio.h>
int n, i;
int a[50];
int main()
{
scanf("%d", &n);
a[1] = 1;
a[2] = 1;
for(i = 3; i <= 30; i ++ )
{
a[i] = a[i - 1] + a[i - 2];
}
for(i = 0; i < n; i ++ )
{
int temp;
scanf("%d", &temp);
printf("%d\n", a[temp]);
}
return 0;
}