后能卖完?
答:
考虑无解的情况:
5.11 分析下面循环的作用。.
1. for(i=1; i<100; ++i) 2. for( i=2; i<100; i+=2)
{
{
printf(\
if(i % 20 == 0) printf(\
if(i % 2 == 0) if(i % 20 == 0)
} {
printf(\ printf(\
} {
printf(\
if((i + j) % 20 == 0)
printf(\
3. for(i=1; i<100; ++i) 4. for(i=1, j=1; i+j<100; ++i, ++j) ++i;
printf(\ if(i % 20 == 0)
}
printf(\
}
答:
输出100以内(不含100)的偶数,每行10个。 5.12 编程输出1-3+5-7+?-99+101的值。
5.13 编程输出2000年至2100年间的闫年。
5.14 编程判断一个正整数是否为完全数。一个数如果恰好等于它的因数(自身除外)之和,则称该数为完全数 (如6=1+2+3,28等)。
5.15 编程判断一个三位正整数是否为“水仙花数”。水仙花数是指一个n位数(n?3),它每位上的数字的n次幂之和等于它本身(例如 371=3+7+1,153,407等)。
333
5.16 编程判断一个正整数各位上数字的乘积是否大于各位上数字之和。
5.17 分析下面的程序,用Z5z2j3测试并改写为for循环结构
#include
int n = 0; char c;
c = getchar( ); while(c != '\\n') {
if(c >= '0' && c <= '9')
++n;
c = getchar( ); }
printf(\}
程序用于统计用户输入的一串字符中数字的个数。 关于getchar函数的使用参见练习2.23。
改写后的程序为:
5.18 例5-8也可用下面的程序求解,请分析。
#include
int f1,f2; int i; f1 = f2 = 1;
for(i=1; i<=15; ++i) {
printf(\if(i % 2 == 0) printf(\f2 = f1 + f2; f1 = f2 + f1; } }
5.19 分析下面的程序。
1. #include
{
int m,i,k; scanf(\ k = sqrt(m);
for(i=2; i<=k; ++i) if(m % i == 0) break; if(i == k+1)
printf(\是质数。\\n\
}
2. #include
int m, i, k, flag = 1; scanf(\k = sqrt(m);
for(i=2; i<=k; ++i)
if(m % i == 0)