dw网站建设基本流程,搭建网站工具,广告设计与制作免费,四川建筑工程网各位CSDN的uu们你们好呀#xff0c;今天小雅兰来复习一下之前所学过的内容噢#xff0c;复习的方式#xff0c;那当然是刷题啦#xff0c;现在#xff0c;就让我们进入C语言的世界吧 当然#xff0c;题目还是来源于牛客网
完完全全零基础
编程语言初学训练营_在线编程题… 各位CSDN的uu们你们好呀今天小雅兰来复习一下之前所学过的内容噢复习的方式那当然是刷题啦现在就让我们进入C语言的世界吧 当然题目还是来源于牛客网
完完全全零基础
编程语言初学训练营_在线编程题解_牛客题霸_牛客网 BC10 成绩输入输出
BC20 kiki算数
BC21 浮点数的个位数字
BC22 你能活多少秒
BC23 时间转换
BC24 总成绩和平均分计算
BC25 计算体重指数
BC26 计算三角形的周长和面积
BC27 计算球体的体积
BC30 KiKi和酸奶
BC31 发布信息
BC32 输出学生信息
BC33 计算平均成绩
BC34 进制AB
BC37 网购
BC38 变种水仙花
BC39 争夺前五名 其实上次复习的时候我们也做过这个题目当时我们是这么来写的
#include stdio.hint main()
{int score160;int score280;int score390;scanf(%d %d %d,score1,score2,score3);printf(score1%d,score2%d,score3%d,score1,score2,score3);return 0;
} 仔细想一想这样写的效率是非常低的如果有五十科成绩呢难道输入五十次打印五十次吗这显然是不现实的那么就应该用循环的方法。
#includestdio.h
int main()
{int score[3] { 0 };//0 1 2int i 0;for (i 0; i 3; i){scanf(%d, score[i]);}printf(score1%d,score2%d,score3%d\n, score[0], score[1], score[2]);return 0;
} #includestdio.h
int main()
{int a 0;int b 0;scanf(%d %d, a, b);int sum (a % 100 b % 100) % 100;printf(%d\n, sum);return 0;
}
也可以这样写
#include stdio.h
int main()
{int a 0;int b 0;scanf(%d %d, a, b);int c (a b) % 100;printf(%d\n, c);return 0;
} #includestdio.h
int main()
{double d 0.0;scanf(%lf, d);int n (int)d;printf(%d\n, n % 10);return 0;
} #includestdio.h
int main()
{int age 0;scanf(%d, age);long long second age * 3.156e7;printf(%lld\n, second);return 0;
} #includestdio.h
int main()
{int seconds 0;scanf(%d, seconds);int h 0;//小时int m 0;//分钟int s 0;//秒//计算h seconds / 60 / 60;m seconds / 60 % 60;s seconds % 60;printf(%d %d %d, h, m, s);return 0;
} 计算好对应的数字按照格式打印就行。 #includestdio.h
int main()
{double score[3] { 0 };scanf(%lf %lf %lf, score[0], score[1], score[2]);double sum score[0] score[1] score[2];double avg sum / 3.0;printf(.2lf .2lf\n, sum, avg);return 0;
} 另一种写法
#includestdio.h
int main()
{double score 0.0;double sum 0.0;double avg 0.0;int i 0;for (i 0; i 3; i){scanf(%lf, score);sum score;}avg sum / 3.0;printf(%.2lf %.2lf\n, sum, avg);return 0;
}
1. 本题在接收数据的同时就可以计算分数的总和不一定非要等数据全部接收完毕。
2. 按照格式打印就行。 #includestdio.h
int main()
{int weight 0;int high 0;double BMI 0;scanf(%d %d, weight, high);//计算BMIBMI weight / ((high / 100) * (high / 100));printf(%.2lf\n, BMI);return 0;
} 要得到浮点数要进行浮点数除法这里就得保证 / 两端的操作数至少有一个数是浮点数。 在做这道题目的过程中我们需要求三角形的面积但是这道题目根本没有说它是一个什么三角形那么这个面积该如何求呢这就要用到海伦公式。 海伦公式又译作希伦公式、海龙公式、希罗公式、海伦秦九韶公式。它是利用三角形的三条边的边长直接求三角形面积的公式。表达式为S√p(p-a)(p-b)(p-c)它的特点是形式漂亮便于记忆。 相传这个公式最早是由古希腊数学家阿基米德得出的而因为这个公式最早出现在海伦的著作《测地术》中所以被称为海伦公式。中国秦九韶也得出了类似的公式称三斜求积术。 C语言提供了一个库函数专门用来开平发为sqrt #includestdio.h
#includemath.h
int main()
{double a 0.0;double b 0.0;double c 0.0;double circumference 0.0;double area 0.0;scanf(%lf %lf %lf, a, b, c);circumference a b c;double p circumference / 2;area sqrt(p * (p - a) * (p - b) * (p - c));printf(circumference%.2lf area%.2lf\n, circumference, area);return 0;
} #includestdio.h
int main()
{double r 0.0;//半径double v 0.0;//体积double pi 3.1415926;scanf(%lf, r);v 4.0 / 3 * pi * r * r * r;printf(%.3lf\n, v);return 0;
}
注意输入输出照着公式写代码就行。
这个题目如果使用 float 来求解答案的精度是不够的所以试错后使用double类型合适。 #includestdio.h
int main()
{int n 0;//给的酸奶瓶数int h 0;//喝一瓶酸奶的时间int m 0;//总共时间while (scanf(%d %d %d, n, h, m) ! EOF){if (m % h 0){printf(%d\n, n - m / h - 1);}else{printf(%d\n, n - m / h);}}return 0;
}
1. 注意多组输入
2. 如果h分钟喝一瓶酸奶那么m分钟喝汽水的瓶数就是h/m瓶但是如果m%h有余数就说明又打开了一瓶只是没来得及喝完那么未打开的就少一瓶。 #include stdio.hint main()
{printf(I lost my cellphone!\n);return 0;
}#include stdio.hint main()
{printf(Name Age Gender\n);printf(---------------------\n);printf(Jack 18 man\n);return 0;
}#include stdio.hint main()
{int arr[5]{0};int i0;int sum0;float average0.0;for(i0;i5;i){scanf(%d ,arr[i]);sumarr[i];}averagesum/5.0;printf(%.1f ,average);return 0;}
在获取输入数据的同时计算成绩总和然后求出平均值按照格式输出就行。 #includestdio.h
int main()
{int a 0;int b 0;scanf(%x %o, a, b);int sum a b;printf(%d\n, sum);return 0;
} %x是十六进制的数据格式 %o是八进制的数据格式 1. 首先要理解十进制、十六进制、八进制只是一种数据的表示形式不是数据的存储形式。 2. 不同格式的数据的输出在C语言中有不同的格式指定比如%x是十六进制格式%o就是八进制格式。 3. 不同进制的数据存放都整形变量中都是整形值直接计算就行计算交给计算机。 #includestdio.h
int main()
{double price 0.0;//价格int month 0;int day 0;int flag 0;//是否有优惠券double cut 1.0;//折扣double last 0.0;scanf(%lf %d %d %d, price, month, day, flag);if (month 11 day 11){cut 0.7;if (flag 1){last price * cut - 50;}else{last price * cut;}}else if (month 12 day 12){cut 0.8;if (flag 1){last price * cut - 50;}else{last price * cut;}}if (last 0.0){printf(0.00);}else{printf(%.2lf\n, last);}return 0;
}
但是这个代码不是很好有点代码冗余
#include stdio.h
int main()
{float price 0.0;int m 0;int d 0;int flag 0;scanf(%f %d %d %d, price, m, d, flag);if (m 11 d 11){price * 0.7;if (flag 1)price - 50;}else if (m 12 d 12){price * 0.8;if (flag 1)price - 50;}if (price 0.0)price 0.0;printf(%.2f\n, price);return 0;
}
还有一种写法也是可以的
#include stdio.hint main()
{float price 0.0;int m 0 ;int d 0 ;int flag 0 ;float cut 0 ;scanf(%f %d %d %d,price,m,d,flag);if(m11d11){cut0.7;}else if(m 12d12){cut0.8;}priceprice* cut- flag* 50.0;if(price0.0)price0.0;printf(%.2f\n, price);return 0;
}
1. 本地理解好题目意思然后计算机就可以
2. 注意抵扣完后价格小于0只能按照0计算
3. 按照格式输出 #include stdio.h
int main()
{int i 0;for(i9999;i99999;i){int ai/10000;int a1 i%10000;int bi/1000;int b1 i%1000;int ci/100;int c1 i %100;int d i/10;int d1i%10;if((a*a1)(b*b1)(c*c1)(d*d1)i){printf(%d ,i);}}return 0;
}
另外一种方法
#includestdio.h
int main()
{int i 0;for (i 10000; i 99999; i){//判断i是否为Lily Numberint j 0;int sum 0;for (j 10; j 10000 ; j){sum (i / j) * (i % j);}if (sum i){printf(%d , i);}}return 0;
}
分析题目后发现lily数求和的每一项都是对同一个数10/100/1000...的取模或者整除取商。
这样的话产生10100100010000 这些数字分别对被判断的数字取模或者取商然后乘起来再计算和再判断就行。 冒泡排序的思想是两两相邻的元素进行比较并且有可能的话需要交换。小雅兰写过这个专题噢 。
冒泡排序——“C”_认真学习的小雅兰.的博客-CSDN博客
#include stdio.h
int main()
{int n 0;int arr[40] { 0 };scanf(%d, n);int i 0;for (i 0; i n; i){scanf(%d, arr[i]);}//排序//自己实现冒泡排序for (i 0; i n - 1; i){//一趟冒泡排序要进行多少对元素的比较int j 0;for (j 0; j n - 1 - i; j){if (arr[i] arr[i 1]){int tmp arr[j];arr[j] arr[j 1];arr[j 1] tmp;}}}for (i n-1 ; i n - 5; i--){printf(%d , arr[i]);}return 0;
}当然此题目还可以用到一个库函数——qsort #include stdio.hint cmp_int(const void* e1, const void*e2)
{return *(int*)e1 - *(int*)e2;
}int main()
{int n 0;int score[40] {0};scanf(%d, n);int i 0;for(i0; in; i){scanf(%d, score[i]);}//对所有数字排序int j 0;//使用库函数排序qsort(score, n, 4, cmp_int);for(i0; i5; i){printf(%d , score[--n]);}return 0;
}好啦小雅兰今天的复习内容就到这里啦以后还会继续复习C语言噢