您的位置:首页 > 编程语言 > C语言/C++

C Primer Plus 第六章部分习题

2017-05-31 17:55 507 查看
1 时间转换:

代码:

void time_change()
{
while (1)
{
float min = 0;
printf("请输入分钟数:");
scanf_s("%f", &min);
if (min > 0)
{
printf("转换成小时为:%f\n", min / MAX);
printf("转换成秒为:%.2f\n", min * MAX);
continue;
}else
{
break;
}
}
}
执行结果:

请输入分钟数:100

转换成小时为:1.666667

转换成秒为:6000.00

请输入分钟数:

2 打印字符菱形:

代码:

void print_let()
{
char c;
while (1)
{
printf("请输入一个大写字母:");
scanf("%c", &c);
if (c >= 65 && c <= 90)
{
break;
}
else
{
printf("error!");
continue;
}
}

//printf("%d\n", (int)c);

int rows = 2*(c - 64)-1; //要打印的总行数
printf("总行数:%d\n", rows);
int rows_1 = c - 64;
printf("上部分行数:%d\n", rows_1);

for (int i = 1; i <= rows_1; i++)
{
for (int j = 1; j <= rows_1 - i;j++)
{
printf(" ");
}
char min = 'A';
for (int j = rows_1 - i+1; j <= rows_1; j++)
{
printf("%c", min);
min++;
}
min--;
for (int j = rows_1 + 1; j < rows_1+i; j++)
{
min--;
printf("%c", min);
}
printf("\n");
//for (int)
}
for (int i = rows_1 + 1; i <= rows; i++)
{
for (int j = 1; j <= i - rows_1; j++)
{
printf(" ");
}
char min = 'A';
for (int j = i - rows_1+1; j <= rows_1; j++)
{
printf("%c", min);
min++;
}
min--;
for (int j = rows_1 + 1; j <= rows_1 + rows - i; j++)
{
min--;
printf("%c", min);
}
printf("\n");
}
}

执行结果

请输入一个大写字母:G

总行数:13

上部分行数:7

               A

               ABA

            ABCBA

         ABCDCBA

      ABCDEDCBA

   ABCDEFEDCBA

ABCDEFGFEDCBA

   ABCDEFEDCBA

      ABCDEDCBA

         ABCDCBA

           ABCBA

             ABA

               A

3 取款问题:账户有100万,年率利为%8,第年最后一天取出10万,多少年可以取完?

/*
账户有100万,年率利为%8,第年最后一天取出10万,多少年可以取完?
*/
void lose_money() {
float cunkuan = 1000000;
int year = 0;
while (cunkuan > 0)
{
cunkuan = cunkuan*1.08 - 100000;
year++;
}
printf("%d年可以取完所有的钱\n", year);
}


打印结果:

21年可以取完所有的钱、

4 投资问题:投资100块 单利10% ,复利5%,多少年后复利会大于单利

代码:

void touzi()
{
float danli = 100;
float fuli = 100;
int year = 0;
while (fuli <= danli)
{
fuli = fuli*(1.05);
danli = danli + 10;
year++;
}
printf("%d年后,复利超过单利,此时单利为:%f,复利为:%f\n", year, danli, fuli);
}


打印结果:

27年后,复利超过单利,此时单利为:370.000000,复利为:373.345520

请按任意键继续. . .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  printf c语言