19、以下代码执行结果是?
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0, b = 0;
for (a = 1, b = 1;a <= 100;a++)
{
if (b >= 20)
break;
if (b % 3 == 1)
{
b = b + 3;
continue;
}
b = b - 5;
}
printf("%d\n", a);
return 0;
}
20、编写程序数一下1-100之间所有整数中出现多少次数字9?
21、计算1/1-1/2+1/3-1/4……+1/99-1/100的值,打印结果
22、输出乘法口诀表
答案:
19:8
解说:for循环条件a,b的起始值均为1,进入循环时:每循环一次,先检查变量b是否大于等于20,如果是,则跳出循环(break语句)。接着,我们检查b除以3的余数是否等于1,如果是,则执行b = b + 3,并跳过本次循环的剩余部分(continue语句)。否则,执行b = b - 5。整个循环将重复执行,直到a的值大于100或b的值大于等于20。从b的初始值可以得出,b%3==1成立,进入b=b+3,循环6次之后,b=19,第7次时,大于20,此时a已经增加了7次,a的值为8,进入第一个if循环后,跳出循环,打印a的值,所以a=8.
20、
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1;i <= 100;i++)
{
if (i % 10 ==9)
count++;
if ((i / 10) % 10 == 9)
count++;
}
printf("%d\n", count);
return 0;
}
21、
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
float a = 1,b=2;
float ret = 0;
float sum = 0;
for (a = 1, b = 2;a <= 100, b <= 100;a += 2, b += 2)
{
ret = 1 / a - 1 / b;
sum = sum + ret;
}
printf("%lf\n", sum);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
double sum = 0.0;
for (i = 1;i <= 100;i++)
{
if (i % 2 == 0)
sum -= 1.0 / i;
else
sum += 1.0 / i;
}
printf("%lf\n", sum);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
double sum = 0.0;
int flag = 1;
for (i = 1;i <= 100;i++)
{
sum += flag*1.0 / i;
flag = -flag;
}
printf("%lf\n", sum);
return 0;
}
22、
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1;i < 10;i++)
{
int j = 0;
for (j = 1;j <= i;j++)
{
printf("%d*%d=%-2d ", j, i, j * i);
}
printf("\n");
}