阅读程序题20
文字描述:
1.定义两个整数变量,分别为n,i;
2.分别给n和i赋值,n=0,i=0;
3.如果i<3为真,则执行4,否则结束循环;
4.若n++==0||n++==1||n++==2||n++==3为真输出“%2d”,n++,执行5,为假执行5;
5.i++,返回3;
流程图:
代码:#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赋值,n=2;
3.如果n<=10为真,则执行4,否则循环结束;
4.计算k=n*n*n;
5.给i赋值,i=1;
6.如果i<k/2为真执行7,否则执行16;
7.给j和sum赋值,j=i,sum=0;
8.如果sum<k为真,则执行9,否则执行10;
9.计算sum+=j;j+=2;返回8
10如果sum==k为真,则输出n,n,n,sum;为假执行18
11.给p赋值,p=i;
12.如果p<j-2为真,则输出p,执行13,否则执行14;
13.计算p+=2;返回12
14.输出p;
15.计算j+=2;返回8;
16.如果i>=k/2为真,则执行17,否则执行19;
17.输出:\n error,执行19
18.计算i+=2,返回6;
19.计算n=n+1,返回3;
流程图:
代码:
#include<stdio.h>
int main()
{
long n, i, k, j, sum, p;
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;
2.给flag赋值,flag=0;
3.从键盘上获取一个数存入k;
4.给k赋值,k=n;
5.给m赋值,m=n;
6.计算s=n*(n-m)-m*m;
7.如果s*s==1为真,则执行8,否则执行9;
8.给flag赋值,flag=1;
9.计算m--;
10.如果m>0&&!flag为真,则返回6,否则执行11;
11.如果m==0为真,则执行n--;
12.如果n>0&&!flag为真,则返回5,否则执行13;
13.输出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,n;
2.从键盘上获取一个数存入n;
3.如果n<=1,则执行4,否则执行5;
4.重新输入一个数存入n;
5.给i赋值,i=2;
6.如果i<=n为真,则执行7,否则循环结束;
7.给j赋值,j=2;
8.如果j<i为真,则执行9,否则执行11;
9.如果i%j==0为真,则执行10;
10.计算j++,返回8;
11.如果j==i&&i%10!=9为真,则执行12,否则执行15;
12.输出i,line++;
13.如果line==10为真,则执行14,否则执行15;
14.输出换行,line=0;
15.计算i++,返回6;
流程图:
代码:
#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,temp,sum;
2.给sum赋值,sum=0;
3.从键盘上获取一个数存入n;
4.如果n<1||n>10为真,则执行5,否则执行6;
5.重新从键盘上获取一个数存入n;
6.i=0;
7.如果i<n为真,则执行8,否则执行15;
8.temp=0;
9.j=0;
10.如果j<=i为真,则执行11,否则执行13;
11.计算temp+=(long int)pow(10,j)*(i+1);
12.j++,返回10;
13.计算sum+=temp;
14.i++,返回7;
15.输出sum;
流程图:
代码:
#include<stdio.h>
#include<math.h>
int main()
{
int i, j, n;
long temp, sum = 0;
printf("Plase 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, n, sum;;
2.n=0;
3.i=1;
4.如果i<1000为真,则执行5,否则执行13;
5.sum=0;
6.j=1;
7.如果j<a为真,则执行8,否则执行10;
8.如果i%j==0为真,则计算sum+=j,否则执行9;
9.j++,返回7;
10.如果sum==i为真,则输出i,n++,否则执行11;
11.如果n%5==0,输出换行;否则执行12;
12i++;返回4;
13输出n;
流程图:
代码:
#include<stdio.h>
int main()
{
int i, j, n = 0, sum;
printf("1000以内的完数:");
for (i = 1; i <= 1000; i++)
{
sum = 0;
for (j = 1; j < i; j++)
{
if (i % j == 0)
sum = sum + j;
}
if (sum == i)
{
printf("%d\n", sum);
n++;
}
if (n % 5 == 0)
{
printf("\n");
}
}
printf("%d\n", n);
return 0;
}
运行结果:
编程题2
文字描述:
1.定义两个整数变量,分别为year,n;
2.n=0;
3.year=1900;
4.如果year<=2000为真,则执行5,否则循环结束;
5.如果year%4==0&&year%100!=0||year%400==0为真,则执行6,否则执行7;
6.输出year,n++;
7.如果n%3==0,则执行8,否则执行9;
8.输出换行;
9year++,返回4;
流程图:
代码:
#include<stdio.h>
int main()
{
int year, n = 0;
for (year = 1900; year<= 2000; year++)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
printf("%d\t", year);
n++;
if (n % 3 == 0) printf("\n");
}
}
return 0;
}
运行结果:
编程题3
文字描述:
1.定义五个整数变量,分别为i,a,b,c,n;
2.n=0;
3.i=100;
4.如果i<=999为真,则执行5,否则循环结束;
5.a=i/100;
6.b=(i-a*100)/10;
7.c=i%10;
8.如果a*a*a+b*b*b+c*c*c==i为真,则执行9,否则执行11;
9.输出i;
10.n++;
11.如果n%2==0为真,则执行12,否则执行13;
12.输出换行;
13.i++,返回4;
流程图:
代码:
#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.定义四个整数变量和一个小数变量,分别为i,k,n,m,e;
2.k=1,e=1;
3.从键盘上获取一个数存入n;
4.m=1;
5.i=1;
6.如果i<=k为真,则执行7,否则执行9;
7.m=m*i;
8.i++,返回6;
9.e=e+1.0/m;
10.k++;
11.如果k<=n为真,则执行4,否则执行12;
12.输出e;
流程图:
代码:
#include<stdio.h>
int main()
{
int k = 1, i, n, m;
float e = 1;
scanf_s("%d", &n);
do {
m = 1;
for (i = 1; i <= k; i++) {
m = m * i;
}
e = e + 1.0 / m;
k++;
} while (k <= n);
printf("%.2f", e);
return 0;
}
运行结果:
编程题5
文字描述:
1.定义六个小数变量,分别为y,s,x,k,a,i;
2.s=1,k=1,a=1,i=1;
3.从键盘上输入一个数存入x;
4.a=-a;
5.i++;
6.k=k*x;
7.y=i/k;
8.s=s+a*y;
9.如果y>0.00001为真,返回4,否则执行10;
10输出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;
}
运行结果: