目录
3.阅读程序题。
(20)文字
- 定义两个整形变量n,i,给n赋值为0。
- for语句(i=0;i<3;i++),
- switch语句(n++)
- case 0,1,2,条件为空
- case 3:输出两个单位长度n后,n++.
- 返回2,不满足结束。
(20)代码
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; }
(20)运行结果
编辑
4.完善程序题。
(5)文字
- 定义长整型变量n,i,k,j,p,sum。
- n=2;
- 判断n是否小于等于10,满足执行4,不满足结束;
- 把三个n的乘积赋值给k;
- i=1;
- 判断i是否小于k除以2,满足执行7,不满足执行16.
- j=i;sum=0;
- 判断sum是否小于k,满足执行9,不满足执行i+=2后,返回6。
- sum+=j;
- 判断sum是否等于k,满足执行11,不满足执行j+=2后,返回8.
- 输出n*n*n=sum=.
- p=i;
- 判断p是否小于j-2;满足执行14,不满足执行j+=2后,返回8。
- 输出‘p+',输出p的值。
- 结束10这个循环,执行j+=2后,返回8.
- 判断i是否大于等于k/2,满足输出回车换行error!,不满足执行n++后,返回3。
(5)代码
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; }
(5)运行结果
编辑
(6)文字描述
1、声明长整型m,n,k,s,flag并把0的值赋值给flag;
2、输出input k;
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,是进行n--,否进行第12步;
12、判断n是否大于0和不等于flag,是进行下一步,否则返回第5步;
13、输出m和n的值,程序结束。
(6)代码
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; }
(6)运行结果
编辑
(8)文字描述
- 声明整数变量i,j,line,并把0的值赋值给line,声明长整型n;
- 输出普通字符Please enter n:;
- 输入n的值;
- 定义while循环,判断n是否小于等于1,是进行下一步,否则进行第7步;
- 输出普通字符"Enter error,enter again."
- 再输入n的值;
- 定义for循环,把2的值赋值给i,
- 判断i是否小于等于n,是进行下一步,否则进行第17步;
- 定义for循环,把2的值赋值给j;
- 判断j是否小于i,是进行下一步,否则进行第8步;
- 判断i取余j是否等于0,是进行第8步,否则进行下一步;
- 判断j是否等于i和i取余10是否不等于9,是进行下一步,否则进行第8步;
- 输出i的值;
- line自加1;
- 判断line是否等于10,是进行下一步,否则进行第8步;
- 输出”\n”,并且把0的值赋值给line;
- 程序结束。
(8)代码
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; }
(8)运行结果
编辑
(9)文字描述
- 声明整数变量i,j,n,声明长整型变量temp和sum,并把0的值赋值给sum;
- 输出普通字符Please input terms number.;
- 输入n的值;
- 判断n是否小于1,或者n是否大于10,是进行下一步,否则进行第15步;
- 输出普通字符"Enter error,enter again."
- 再输入n的值;
- 定义for循环,把0的值赋值给i;
- 判断i是否小于n,是进行下一步,否则进行第12步;
- 把0的值赋值给temp;
- 定义for循环,把0的值赋值给j;
- 判断j是否小于等于i,是进行下一步,否则i自加1,进行第6步;
- 把表达式的值赋值给temp;
- 把sum加temp的值赋值给sum,j自加,返回1第9步;
- 输出字符’sum=‘和sum的值。
- 程序结束。
(9)代码
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; }
(9)运行结果
编辑
5.编程题
(1)文字描述
- 声明整数变量i,j,n,sum,并把0的值赋值给n;
- 定义for循环,把3的值赋值给i;
- 判断i是否小于等于1000,是进行4,否则进行第13步;
- 把0的值赋值给整数sum;
- 定义for循环,把1的值赋值给j;
- 判断j是否小于n-1,是进行7,否则j自加1进行第3步;
- 判断n取余j是否等于0,是进行下一步,否则进行j自加1进行第6步;
- 把sum加j的值赋值给sum;
- 判断sum是否等于i,是进行下一步,否则j自加1进行第6步;
- 输出' i'的值;
- n自加1;
- n和5取余是否等于0,是进行下一步,否则j自加1进行第6步;
- 输出“\n”,j自加1进行第6步;
- 输出的值,程序结束。
(1)代码
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; }
(1)运行结果
编辑
(2)文字描述
1、声明整型变量i和n,并给n赋值为0;
2、定义for循环,把1900的值赋值给i;
3、判断i是否小于等于2000,是执行4,否则进行第9步;
4、判断i是否为闰年的数;
5、输出i的值;
6、n自加1;
7、判断n取余3是否等于0,是进行下一步,否则n++,返回第3步;
8、输出回车换行,并且i++,返回第3步;
9、程序结束。
(2)代码
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; }
(2)运行结果
编辑
(3)文字描述
1、声明整数变量i,a,b,c,n,并且把0的值赋值给n;
2、定义for循环,把100的值赋值给i;
3、判断i是否小于等于999,是进行下一步,否则进行第12步;
4、把i除以100的数赋值给a;
5、把减去a*100除以10的值赋值给b;
6、把i取余10的值赋值给c;
7、判断i是否等于表达式的值,是进行下一步,否则返回第3步,i自加1;
8、输出i的值;
9、n自加1;
10、判断n取余2是否等于0,是进行下一步,否则返回第3步,i自加1;
11、输出回车换行,返回第3步,i自加1;
12、程序结束。
(3)代码
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 (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) { printf(" %d", i); n++; if (n % 2 == 0)printf("\n"); } } return 0; }
(3)运行结果
编辑
(4)文字描述
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 = e + 1.0 / t;的值赋值给e;
9、k自加1;
10、判断k是否小于等于n,是进行下一步,否则返回第4步;
11、输出e的值,程序结束。
(4)代码
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 *= i; e = e + 1.0 / t; k++; } while (k <= n); printf("%.2f", e); return 0; }
(4)运行结果
编辑
(5)文字描述
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的值,程序结束。
(5)代码
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 += a * y; } while (y > 1e-5); printf("%f", s); return 0; }
(5)运行结果
编辑
流程图汇总
编辑
编辑