子莫
发表于 2019-3-5 13:35:09
1024
Joe_Huang
发表于 2019-3-5 13:48:35
KKP
晓程序
发表于 2019-3-5 19:26:27
1
小甲鱼GG
发表于 2019-3-5 20:17:10
1
辛雨之恋
发表于 2019-3-5 21:55:31
看看答案对不对。
黄金梅利
发表于 2019-3-5 22:35:26
1111
icarusgod
发表于 2019-3-6 10:24:06
查看答案
材料转cs
发表于 2019-3-6 11:39:22
{:10_251:}
noobeon
发表于 2019-3-6 14:55:34
0.100
1.不打印
2.c=5, b=c, a=b
3.NAN,5,8(不确定)
4.z = x > 0 ? x : - x;
5.A、if (size > 12)
{
cost *= 1.05;
flag = 2;
}
bill = cost * flag;
B、if (ibex >14) {sheds = 3}
z_zt
发表于 2019-3-6 17:37:33
测试题:
0. 请问下边代码将打印多少个 'A'?
#include <stdio.h>
int main()
{
int i, j;
for (i = 0; i != 10, j != 10; i++)
{
for (j = 0; j < 10; j++)
{
putchar('A');
}
}
putchar('\n');
return 0;
}
答:100个A
1. 请问下边代码会打印多少个 'B'?
#include <stdio.h>
int main()
{
int i = 0;
while (i++)
{
if (i > 10)
{
goto Label;
}
putchar('B');
}
Label:putchar('\n');
return 0;
}
答:10个B。
2. 请写出表达式 a = b = c = 5 中的"l-value"?
答:a, b, c
4. 请使用条件运算符求出变量 x 的绝对值,并存放到变量 z 中。
答:z = x >= 0 ? x : -x;
5. C 语言其实在大部分情况下不使用 goto 语句也能做得很好,请尝试将下列代码段写成不带 goto 语句的版本。
A.
if (size > 12)
{
goto a;
}
goto b;
a: cost = cost * 1.05;
flag = 2;
b: bill = cost * flag;
if (size > 12)
{
cost = cost * 1.05;
flag = 2;
}
bill = cost * flag;
B.
if (ibex > 14)
{
goto a;
}
sheds = 2;
goto b;
a: sheds = 3;
b: help = 2 * sheds;
if (ibex > 14)
{
sheds = 3;
}
else
{
sheds = 2;
}
belp = 2 * sheds;
C.
readin: scanf("%d", &score);
if (score < 0)
{
goto stage2;
}
count++;
goto readin;
stage2: printf("count = %d\n", count);
while (1)
{
scanf("%d", &score);
if (score < 0)
{
printf("count = %d\n", count);
break;
}
count++;
}
动动手:
0. 假设小甲鱼和黑夜手上均有 10000 元,小甲鱼以 10% 的单利息投资,黑夜则以每年 5% 的复合利息投资。请编写一个程序,计算需要多少年黑夜手头的 Money 才会超过小甲鱼?
提示:单利息即每年的利息均为投资额 * 利率;复合利息则是每年的本息所得作为第二年的投资额。
#include <stdio.h>
#include <math.h>
int main(void)
{
float fishc = 10000, black = 10000;
int i = 0;
while(fishc >= black)
{
i++;
fishc = 10000 + (10000 * 0.1 * i);
black = 10000 * pow(1.05, i);
}
printf("%d年后,黑夜的投资额超过小甲鱼!\n", i);
printf("小甲鱼的投资额是:%.2f\n", fishc);
printf("黑夜的投资额是:%.2f\n", black);
return 0;
}
1. 都说天降横财不是什么好事儿,这不,小甲鱼中了双色球一等奖,扣除税收后还剩下 400 万人民币。假设小甲鱼把这些钱做固定投资,每年可以获得 8% 的红利,但在每年的第一天,小甲鱼都会取出 50 万作为本年度的开销……
请编写一个程序,计算需要多久小甲鱼才会败光所有家产,再次回到一贫如洗?(本故事纯属虚构,小甲鱼还是需要大家的支持才能养活自己滴,点击购买 VIP 支持小甲鱼 -> 传送门)
#include <stdio.h>
int main(void)
{
float fishc = 400;
int i = 0;
while (fishc > 0)
{
i++;
fishc -= 50;
fishc *= 1.08;
}
printf("%d年之后,小甲鱼败光了所有的家产,再次回到一贫如洗......\n", i);
return 0;
}
2. 根据以下已知公式求 Pi 的近似值,要求正确计算出小数点后前 7 位(即3.1415926)。
提示1:分子永远都是1;版权属于:
提示2:后一项的分母是前一项的分母加2;
提示3:可以通过i = -i实现符号取反的效果;
提示4:要正确计算出小数点后前 7 位数,最后一项的绝对值需要小于 10^(-8) 才行(该项不累加);
提示5:求某数的绝对值可以使用 fabs 函数(函数快查:fabs – 求绝对值)
#include <stdio.h>
#include <math.h>
int main(void)
{
double currentitem = 1;
double pi4 = 0;
int i = 1;
double min = pow(10, -8);
while (currentitem > min)
{
currentitem = 1 / (double)i;
pi4 = ((i + 1) / 2) % 2 ? pi4 + currentitem : pi4 - currentitem;
i += 2;
}
printf("PI = %.7f\n", pi4 * 4);
return 0;
}
3. 这是一个有趣的古典数学问题:如果说兔子在出生两个月后,就有繁殖能力,在拥有繁殖能力之后,这对兔子每个月能生出一对小兔子来。假设所有兔子都不会死去,能够一直干下去,那么两年之后可以繁殖多少对兔子呢?
#include <stdio.h>
int main(void)
{
int i;
int m0 = 1, m1 = 0, m2 = 0;
for (i = 0; i < 24; i++)
{
int tmp = m2;
m2 = m2 + m1;
m1 = m0;
m0 = tmp;
}
printf("2年后,会有%d对兔子。\n", m0 + m1 + m2);
return 0;
}
2年后,会有5896对兔子。
方大侠
发表于 2019-3-6 20:24:47
kk
wqy886
发表于 2019-3-7 20:34:40
xx
一点都不鱼的鱼
发表于 2019-3-8 09:29:22
疯狂的兔子!无法直视
Joe5211
发表于 2019-3-8 18:02:33
是
18846148440
发表于 2019-3-9 10:53:51
1212
匡江山
发表于 2019-3-9 15:11:18
做完了
jerrychou
发表于 2019-3-9 22:02:41
0. 10
1. 10
2. a
3. a = 16, b = 6, c = 10
4. z = x >= 0 ? x : -x
5. A.
if (size > 12)
{
cost = cost * 1.05;
flag = 2;
}
bill = cost * flag;
B.
sheds = ibex > 14 ? 3 : 2;
help = 2 * sheds;
C.
scanf("%d", &score);
while(score >= 0){
count++;
scanf("%d", &score);
}
printf("count = %d\n", count);
0.
#include <stdio.h>
int main(){
int year = 0;
float a = 10000, b = 10000;
while(a >= b){
year ++;
a += 10000 * 0.1;
b *= 1.05;
}
printf("time: %d, xiaojiayu: %.2f, heiye: %.2f", year, a, b);
return 0;
}
1.
#include <stdio.h>
int main(){
int year = 0;
float remain = 400.0;
while(remain >0){
year ++;
remain -= 50;
remain *= 1.08;
}
printf("%d years", year);
return 0;
}
2.
#include <stdio.h>
#include <math.h>
int main(){
int d = 1;
int flag = 1;
double res = 0;
while (1.0 / d >= pow(10, -8)){
res = res + 1.0 / d * flag;
flag = - flag;
d += 2;
}
res *= 4;
printf("pi: %.7f", res);
return 0;
}
3.
#include <stdio.h>
#include <math.h>
int main(){
int sum = 1;
int increase = 1;
int a = 0, b = 1;
sum += 1; //第3个月增加1对
int month = 3;
while (month <= 24){
increase = a + b;
sum += increase;
month += 1;
a = b;
b = increase;
}
printf("sum: %d", sum);
return 0;
}
小眼镜356A
发表于 2019-3-9 23:48:08
ss
布拉格谋
发表于 2019-3-10 22:39:23
线性增长
byw0820
发表于 2019-3-11 09:26:47
为uug