1.阅读程序题
(20)
#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;
}
文字描述:
1、定义整型变量n和I,并把0的值赋值给n;
2、定义for循环,把0的值赋值给i;
3、判断i是否小于3,是进行下一步,否则进行第9步;
4、定义一个Switch循环,n++之后为几;
5、n++为0时,执行空语句;
6、继续执行n++为1时,执行空语句;
7、继续执行n++为2时,执行空语句;
8、继续执行n++为3时,输出n++的值,返回第3步之和,进行i++;
9、结束。
流程图
2.完善程序题
(5)
#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;
}
}
}
return 0;
}
文字描述:
1、定义整型变量n,i,k,j,p,sum;
2、定义for循环,把1的值赋值给i;
3、判断i是否小于k除以2,是执行下一步,否则执行第13步;
4、定义for循环,把1的值赋值给j,把0的值赋值给sum;
5、判断sum是否小于k,是进行下一步,否则进行第3步;
6、把sum加j的值赋值给sum,返回第5步,j自加2;
7、判断sum是否等于k,是进行下一步,否则进行第3步;
8、输出n,n,n,sum的值;
9、定义for循环,把i的值赋值给p;
10、判断p是否小于j减2,是进行下一步,否则进行第3步;
11、输出p的值,返回第10步,p自加2;
12、输出p的值,返回第3步;
13、结束。
流程图
(6)
#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;
}
文字描述
1、定义长整型m,n,k,s,flag并把0的值赋值给flag;
2、输出普通字符;
3、输入k的值;
4、把k的值赋值给n;
5、把n的值赋值给m;
6、把表达式的值赋值给s;
7、判断s乘以s是否等于1,是进行下一步,否则进行第9步;
8、把1的值赋值给flag;
9、m自加1;
10、判断m是否大于0和是否不等于flag,是进行下一步,否则返回第6步;
11、判断m是否等于0,是进行下一步否则结束。
12、判断n是否大于0和步等于flag,是进行下一步,否则返回第5步;
13、结束。
流程图
(8)
#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 r=ettor,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;
}
文字描述:
1、定义整数变量i,j,line,并把0的值赋值给line,声明长整型n;
2、判断n是否小于等于1,是进行下一步,否则进行第5步;
3、输出普通字符;
4、输入n的值;
5、定义for循环,把2的值赋值给i,
6、判断i是否小于等于n,是进行下一步,否则进行第12步;
7、定义for循环,把2的值赋值给j;
8、判断j是否小于i,是进行下一步,否则进行第6步;
9、判断i取余j是否等于0,是进行第6步,否则进行下一步;
10、判断j是否等于i和i取余10是否不等于9,是进行下一步,否则进行第6步;
11、输出i的值;
12、line自加1;
13、判断line是否等于10,是进行下一步,否则进行第6步;
14、输出”\n”,并且把0的值赋值给line;
15、结束。
流程图
(9)
#include<stdio.h>
#include<math.h>
int main()
{
int i, j, n; long temp, sum = 0;
printf("Please input terms number.");
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、定义整数变量i,j,n,声明长整型变量temp和sum,并把0的值赋值给sum;
2、输出普通字符;
3、输入n的值;
4、判断n是否小于1,或者n是否大于10,是进行下一步,否则进行第7步;
5、定义for循环,把0的值赋值给I;
6、判断i是否小于n,是进行下一步,否则进行第12步;
7、把0的值赋值给temp;
8、定义for循环,把0的值赋值给j;
9、判断j是否小于等于i,是进行下一步,否则进行第6步i自加1;
10、把表达式的值赋值给temp,返回第9步,j自加1;
11、把sum加temp的值赋值给sum,返回第6步,i自加1;
12、结束。
流程图
3.编程题
#include<stdio.h>
int main()
{
int i, j, a = 0;
printf("1000以内的所有完整分别是:");
for(i=1;i<=1000;i++)
{
int sum = 0;
for (j = 1; j < i; j++)
{
if (i % j == 0)
sum = sum + j;
}
if(sum==i)
{
printf("%d", i);
a++;
if (a % 5 == 0)
printf("\n");
}
}
printf("\n1000以内完整个数为%d", a);
return 0;
}
文字描述:
1、定义整数变量i,j,a,并把0的值赋值给a;
2、输出普通字符;
3、定义for循环,把1的值赋值给i;
4、判断i是否小于等于1000,是进行下一步,否则进行第15步;
5、把0的值赋值给整数sum;
6、定义for循环,把1的值赋值给j;
7、判断j是否小于i,是进行下一步,否则i自加1进行第4步;
8、判断i是否取余j等于0,是进行下一步否则进行第10步;
9、把sum加j的值赋值给sum;
10、判断sum是否等于i,是进行下一步,否则i自加1进行第4步;
11、输出i的值;
12、a自加1;
13、a取余5是否等于0,是进行下一步,否则i自加1进行第4步;
14、输出“\n”,i自加1进行第4步;
15、结束。
流程图
(2)
#include<stdio.h>
int main()
{
int i, j = 0;
for (i = 1900; i <= 2000; i++)
{
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0))
{
printf("%d", i);
++j;
if (j % 3 == 0)
printf("\n");
}
} return 0;
}
文字描述:
1、定义整型变量i和j,并把0的值赋值给j;
2、定义for循环,把1900的值赋值给i;
3、判断i是否小于等于2000,是进行下一步否则进行第9步;
4、判断i是否为闰年的数;
5、输出i的值;
6、j自加1;
7、判断j取余3是否等于0,是进行下一步,否则i自加1,返回第3步;
8、输出“\n”,返回第3步,并且i自加1;
9、结束。
流程图
(3)
#include<stdio.h>
int main()
{
int number, a, b, c, i = 0;
for(number=100;number<=999;number++)
{
a = number / 100;
b = number % 100 / 10;
c = number % 10;
if(number==a*a*a+b*b*b+c*c*c)
{
printf("%d", number);
i++;
if (i % 2 == 0)
printf("\n");
}
}
return 0;
}
文字描述:
1、定义整数变量number,a,b,c,I,并且把0的值赋值给i;
2、定义for循环,把100的值赋值给number;
3、判断number是否小于等于999,是进行下一步,否则进行第12步;
4、把number除以100的数赋值给a;
5、把number取余100除以10的值赋值给b;
6、把number取余10的值赋值给c;
7、判断number是否等于表达式的值,是进行下一步,否则返回第3步,number自加1;
8、输出number的值;
9、i自加1;
10、判断i取余2是否等于0,是进行下一步,否则返回第3步,number自加1;
11、输出“\n”,返回第3步,number自加1;
12、结束。
流程图
(4)
#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\n", e);
return 0;
}
文字描述:
1、定义整数变量k,i,n,t;
2、声明单精度浮点型变量e和s,并把1的值分别赋值给e和s;
3、输入n的值;
4、把1的值赋值给t;
5、定义for循环,把1的值赋值给i;
6、判断i是否小于等于k,是进行下一步,否则进行第 步;
7、把t乘以i的值赋值给t;
8、把表达式的值赋值给e;
9、k自加1;
10、判断k是否小于等于n,是进行下一步,否则返回第4步;
11、输出e的值;
12、结束。
流程图
(5)
#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;
}
文字描述;
1、定义单精度浮点型变量y,s,x,xx,a,i,并把1的值赋值给s,xx,a,i;
2、输入x的值;
3、把-a的值赋值给a;
4、i自加1;
5、把xx乘以x的值赋值给xx;
6、把i除以xx的值赋值给y;
7、把s加a乘以y的值赋值给s;
8、判断y是否大于0.00001,是进行下一步,否则进行第3步;
9、输出s的值,结束。
流程图