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
请按任意键继续. . .