6.1 分析写出下列程序的运行结构。
(1)
#include <stdio.h>
main() {
int i, j, k;
char space = ' ';
for (i = 1; i <= 4; i++) {
for (j = 1; j <= i; j++) {
printf("%c", space);
}
for (k = 1; k <= 6; k++) {
printf("*");
}
printf("\n");
}
}
******
******
******
******
--------------------------------
(2)
#include <stdio.h>
main() {
int k = 4, n;
for (n = 0; n < k; n++) {
if (n % 2 == 0)
continue;
k--;
}
printf("k=%d,n=%d\n", k, n);
}
k=3,n=3
--------------------------------
(3)
#include <stdio.h>
main() {
int k = 4, n;
for (n = 0; n < k; n++) {
if (n % 2 == 0)
break;
k--;
}
printf("k=%d,n=%d\n", k, n);
}
k=4,n=0
--------------------------------
6.2 阅读下面程序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求,然后上机运行程序,写出程序的运行结果。
(1)计算1+3+5+7+…+99+101的值。
#include <stdio.h>
main() {
int i, sum = 0;
for (i = 1; i <= 101; i++ ) {
sum = sum + i;
}
printf("sum = %d \n", sum);
}
sum = 5151
--------------------------------
(2)计算123+345+…+99100101的值。
#include <stdio.h>
main() {
long i;
long term, sum = 0;
for ( i = 1 ; i <= 99 ; i = i + 2) {
term = (sum + i) * (sum + i + 1) * (sum + i + 2);
sum = sum + term;
}
printf("sum = %ld\n", sum);
}
sum = -1781171196
--------------------------------
(3)计算a + aa + aaa + aaaa + …+aaa(n个a)的值,n 和 a 值由键盘输入。
#include <stdio.h>
#include <math.h>
main() {
long term = 0, sum = 0;
int a, i, n;
printf("请输入a,n:");
scanf("%d,%d", &a, &n);
for ( i = 1 ; i <= n ; i++) {
term = pow (a, i);
sum = sum + term;
}
printf("sum = %ld\n", sum);
}
请输入a,n:5,6
sum = 19530
--------------------------------
(4)计算 1 -1/2 + 1/ 3 - 1/4 +…+1/99 -1/100+…,直到最后一项的绝对值小于10^-4为止。
#include <stdio.h>
#include <math.h>
main() {
int n = 1;
float term = 1.0, sign = 1, sum = 0;
while ( fabs(term) >= 1e-4 ) {
term = sign / n ;
sum = sum + term;
sign = - sign