| 
 | 
 
 
发表于 2020-8-31 21:02:43
|
显示全部楼层
 
 
 
测试: 
0.很多个A,无法满足判断条件。 
1.10次,进入while语句的时候先执行i++,这样的话if就判断了11次,打印了10个B 
2.a,b,c;a,b,c均为变量,得到右边5的赋值。 
3.a=14,b=4,c=10 
4.x >= 0 ? z = x, z = -x; 
5. 
A. 
if (size > 12) 
{ 
       cost = cost * 1.05; 
       flag = 2; 
       continue; 
} 
     bill = cost * flag; 
B. 
if (ibex > 14) 
{ 
        sheds = 3; 
        continue; 
} 
sheds = 2; 
help = 2 * sheds; 
C. 
while(1) 
    { 
        scanf("%d", &score); 
        if (score < 0) 
        { 
            printf("count = %d\n", count); 
            break; 
        } 
        count++; 
 
    } 
动动手: 
0. 
#include <stdio.h> 
#include <math.h> 
#define MONEY_FISH 10000 //定义小甲鱼和黑夜初始资金 
#define MONEY_BLACK_NIGHT 10000 
#define M_F_I 0.1//分别定义二者的单利息与复合利息 
#define M_B_N_I 0.05 
 
int main() 
{ 
    float M_F,M_B_N;//定义小甲鱼和黑夜的投资额所代表的自变量 
    int year;//黑夜投资额超过小甲鱼所需要的年限 
 
    for(year = 0,M_B_N = MONEY_BLACK_NIGHT,M_F = MONEY_FISH;M_B_N <= M_F;year++) 
    { 
        M_B_N *= (1+M_B_N_I) ; 
        M_F += MONEY_FISH * M_F_I; 
    } 
 
    printf("%d年后,黑夜的投资额超过小甲鱼!\n",year); 
    printf("小甲鱼的投资额是:%.2f\n",M_F); 
    printf("黑夜的投资额是:%.2f\n",M_B_N); 
    return 0; 
} 
1. 
#include <stdio.h> 
#define F_M 4000000 //定义小甲鱼的初始资金 
#define F_COST 500000//小甲鱼一年开销 
#define interst 0.08//红利 
 
int main() 
{ 
    int year; 
    float F_M_T;//小甲鱼的实时资金 
    for(year = 0,F_M_T = F_M;F_M_T >= 0;year++) 
    { 
        F_M_T -= F_COST; 
        F_M_T *= (1+interst); 
 
    } 
 
    printf("%d年之后,小甲鱼败光了所有的家产,再次回到一贫如洗......\n",year); 
 
    return 0; 
} 
2. 
#include <stdio.h> //计算π的小数点后前7位 
#include <math.h> 
 
int main() 
{ 
    double i,j,k;//分母,循环跳出条件,分数 
    double result,temp;//结果与临时结果 
    _Bool flag = 1;//为1是分数为正,为0是分数为负 
 
    j = pow(10,-8); 
 
    for(temp = 0,i = 1;(1 / i) >= j;i+=2) 
    { 
        if(flag) 
        { 
            k = 1 / i; 
            flag = 0; 
        } 
        else 
        { 
            k = -(1 / i); 
            flag = 1; 
        } 
        temp += k; 
    } 
 
    result = 4 *temp; 
 
    printf("结果是:%.7f",result); 
 
    return 0; 
} 
3. 
#include <stdio.h> 
#define AIM_Y 2//目标年限 
 
int main() 
{ 
    int total_M,i;//总月份,计数器(月) 
    int C_B,C_1_B,C_2_B;//分别表示能繁殖,差一个月能繁殖,差两个月繁殖繁殖 
    int temp1 = 0;//差一月能繁殖兔子数量临时存储 
    int temp2 = 0;//差两月能繁殖兔子数量临时存储 
    total_M = AIM_Y * 12; 
    //total_M = 4;//测试基础月份繁殖数量是否正确 
 
    C_B = 1; 
    C_1_B = C_2_B = 0;//最初三种繁殖状态的兔子初始数量(对) 
 
    /*每一个月过去就会诞生一批和能繁殖数量一样的差两个月能繁殖的兔子 
    就会有差一个月能繁殖数量的兔子变为能繁殖 
    差两个月能繁殖的兔子变为差一个月能繁殖 
    能繁殖的兔子总是在变多,而差一、两个月能繁殖的兔子会动态变化,由于每个月繁殖会导致差两个月能繁殖的兔子全部成为差一个月繁殖 
    故差两个月能繁殖的兔子总是等于当月能繁殖的兔子的数量,差一个月能繁殖的兔子数量同理 
    */ 
 
    for(i = 1;i<= total_M ;i++) 
    { 
 
        temp2 = C_2_B;/*  先取得差两个月能繁殖的兔子数量存储起来,否则被能繁殖的兔子数量覆盖以后, 
        就无法得出差一个月能繁殖兔子数量的值,因为差一个月能繁殖的兔子数量与差两个月能繁殖的数量上是相等的,下面同理*/ 
        C_2_B = C_B; 
 
        temp1 = C_1_B; 
        C_1_B = temp2; 
 
        C_B = C_B +temp1; 
    } 
 
    printf("经过了%d年,繁殖了%d对兔子\n",AIM_Y,C_B+C_1_B+C_2_B); 
 
    return 0; 
} |   
 
 
 
 |