三、阅读程序题
20.
文字描述:
1.声明一个整型常量n=0,变量i;
2.i=0;
3.判断i<3真假;
4.真再判断n++属于哪种条件,假,结束;
5.判断n++,n==0||n==1||n==2||n==3,输出n++的值;再执行i++,再回到第三步循环;
流程图
代码
#include<stdio.h>
int main()
{
int n = 0, i;
for (i = 0; i < 3; i++)
switch (n++)
{
case 0:
case 1:
case 2:
case 3:printf("%2d", n++);
}
return 0;
}
截图
四、完善程序题
5.
文字描述
1.声明长整型变量n, i, k, j, p, sum;
2.n=2;
3.判断n<=10真假;
4.真执行下一步,假结束;
5.k=n*n*n;
6.i=1;
7.判断i<k/2真假;
8.真执行下一步,假再判断(i >= k / 2)真假;(真输出“\n error”,再n++回到第三步继续循环;假,n++回到第三步继续循环)
9.j=1;sum=0;
10.判断sum<k真假
11.真 执行下一步,假j+=2,然后回到第十步循环
12.sum+=j;
13判断sum==k真假;
14.真输出n, n, n, sum的值;假j+=2,然后回到第十步循环
15.p=i;
16.判断p<j-2真假
17.真输出两个p的值然后p+=2回到第16步循环,假 输出p的值,然后p+=2回到第16步循环;
流程图
代码
#include<stdio.h>
int main()
{
long n, i, k, j, p, sum;
for (n = 2; n <= 10; n++)
{k = n * n * n;
for (i = 1; i < k / 2; i += 2)
{
for (j = i, sum = 0; sum < k; j += 2)
sum += j;
if (sum == k)
{
printf("\n%ld * %ld * %ld = %ld =", n, n, n, sum);
for (p = i; p < j - 2; p += 2)
printf("%ld", p);
printf("%ld+", p);
break;
}
}
if (i >= k / 2)printf("\n error!");
}
return 0;
}
截图
6.
文字描述
1.声明长整型变量m, n, k, s, 常量flag = 0;
2.输出"input k:"
3.输入k的值;
4.n=k;
5.m=n;
6.s = n * (n - m) - m * m;
7.判断(s * s == 1)真假;
8.真为flag=1;假为m--;
9.判断(m > 0 && !flag)真假;
10真回到第6步循环 假再判断m==0真假
11.判断m==0真假;真n--再执行下一步;假执行下一步;
12.判断(n > 0 && !flag)真假;
13.真回到第5步循环;假输出m,n的值;
流程图
代码
#include<stdio.h>
int main()
{
long m, n, k, s, flag = 0;
printf("input k:");
scanf_s("%ld", &k);
n = k;
do
{
m = n;
do
{
s = n * (n - m) - m * m;
if (s * s == 1)
flag = 1;
else
m--;
} while (m > 0 && !flag);
if (m == 0)n--;
} while (n > 0 && !flag);
printf("m=%ld,n=%ld", m, n);
return 0;
}
截图
8.
文字描述
1.声明整型变量i, j,常量 line = 0;声明一个长整型变量n;
2.输出"Please enter n:"
3.输入n的值;
4.判断(n <= 1)真假
5.真输出"Enter error, enter again."再输入n的值;假执行下一步
6.i=2
7.判断i <= n;真假 ;
8.真执行循环 中的内容再i++再回到第7步循环;假结束;
流程图
代码
#include<stdio.h>
int main()
{
int i, j, line = 0;
long int n;
printf("Please enter n:");
scanf_s("%ld", &n);
while (n <= 1)
{
printf("Enter error, enter again.");
scanf_s("%ld", &n);
}
for (i = 2; i <= n; i++)
{
for (j = 2; j < i; j++)
if (i % j == 0)
break;
if (j == i && i % 10 != 9)
{
printf("%d\t", i);
line++;
if (line == 10)
{
printf("\n");
line = 0;
}
}
}
return 0;
}
截图
9.
文字描述
1.声明整型变量i, j, n;
2.声明长整型变量temp,常量sum=0;
3.输出"Please input terms numbers."
4.输入n的值
5.判断(n < 1 || n>10)真假;
6.真输出"Enter error,enter again."再输入n的值,再回到第五步循环;假进行下一步
7.i=0;
8.判断i<n真假;
9.真执行循环中的内容,然后i++;假输出sum的值;
流程图
代码
#include<stdio.h>
int main()
{
int i, j, n;
long temp, sum = 0;
printf("Please input terms numbers.");
scanf_s("%d", &n);
while (n < 1 || n>10)
{
printf("Enter error,enter again.");
scanf_s("%d", &n);
}
for (i = 0; i < n; i++)
{
temp = 0;
for (j = 0; j <= i; j++)
temp += (long int)pow(10, j) * (i + 1);
sum += temp;
}
printf("sum=%ld\n", sum);
return 0;
}
截图
五、编程题
1.
文字描述
1.声明整型变量i, j, sum,常量n = 0;
2.i=3;
3.判断i<1000真假;
4.真 执行下一步 假输出n再结束;
5.sum=0;j=1;
6.判断j < n - 1真假
7.真执行下一步,假.判断(i == sum)真假
8.判断(n % j == 0)真假;
9.真 sum += j;假j++,再回到第6步循环
10.判断(i == sum)真假;
11.真执行下一步;假执行j++,再回到第6步循环
12.输出i ;n++
13判断(n % 5 == 0)真假
14.真输出"\n"假 i++再回到第3步循环
流程图
代码
#include<stdio.h>
int main()
{
int i, j, n = 0, sum;
for (i = 3; i < 1000; i++)
{
sum = 0;
for (j = 1; j < n - 1; j++)
if (n % j == 0)
sum += j;
if (i == sum)
{
printf("%d", i);
n++;
if (n % 5 == 0)
printf("\n");
}
}
printf("\n%d\n", n);
return 0;
}
截图
2.
文字描述
1.声明一个变量i,常量 n = 0;
2.i = 1900;
3.判断i < 2000;真假
4.真 执行下一步;假 结束
5.判断(i % 4 == 0 && i % 100 != 0 || i % 400 == 0)真假
6.真执行下一步 假 i++,再回到第三步循环
7.输出i
8.n++;
9.判断(n % 3 == 0)真假
10.真输出"\n" ;回到第5步循环
流程图
代码
#include<stdio.h>
int main()
{
int i, n = 0;
for (i = 1900; i < 2000; i++)
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
{
printf("%d", i);
n++;
if (n % 3 == 0)
printf("\n");
}
}
return 0;
}
截图
3.
文字描述
1.声明整型变量i, a, b, c, 常量n = 0;
2.i=100;
3.判断i <= 999;真假
4.真执行下一步,假结束;
5.a = i / 100; b = (i - a * 100) / 10; c = i % 10;
6.判断(a * a * a + b * b * b + c * c * c == i)真假
7.真执行下一步;假i++,再回到第3步循环
8.输出i
9.n++;
10判断(n % 2 == 0)真假
11.真输出"\n" 再回到第6步循环;假,直接回到第6步循环
流程图
代码
#include<stdio.h>
int main()
{
int i, a, b, c, n = 0;
for (i = 100; i <= 999; i++)
{
a = i / 100;
b = (i - a * 100) / 10;
c = i % 10;
if (a * a * a + b * b * b + c * c * c == i)
{
printf("%d", i);
n++;
if (n % 2 == 0)
printf("\n");
}
}
return 0;
}
截图
4.
文字描述
1.声明整形常量k = 1, 变量i, n, t;
2.声明小数类型常量e = 1, s = 1;
3.输入n的值
4.t=2;i=1;
5.判断i <= k真假;
6.真 执行下一步 假判断(k <= n)真假
7.t = t * i;
8.e = e + 1.0 / t;
9.k++;.
10.判断(k <= n);真假
11.真 执行 i++再回到第5步循环 假输出e的值 再结束
流程图
代码
#include<stdio.h>
int main()
{
int k = 1, i, n, t;
float e = 1, s = 1;
scanf_s("%d", &n);
do {
t = 1;
for (i = 1; i <= k; i++)
t = t * i;
e = e + 1.0 / t;
k++;
} while (k <= n);
printf("%.2f", e);
return 0;
}
截图
5.
文字描述
1.声明整型变量和常量y, s = 1, x, xx = 1, a = 1, i = 1;
2.输入x的值
3.a = -a;
4. i++;
5.xx = xx * x;
6.y = i / xx;
7. s = s + a * y;
8.判断(y > 0.00001)真假
9.真 回到第3步循环 假输出s的值 再结束
流程图
代码
#include<stdio.h>
int main()
{
float y, s = 1, x, xx = 1, a = 1, i = 1;
scanf_s("%f", &x);
do
{
a = -a;
i++;
xx = xx * x;
y = i / xx;
s = s + a * y;
} while (y > 0.00001);
printf("%f", s);
return 0;
}
截图