C语言
HNYuuu
大一的学生,正在学习的路上~
展开
-
初来乍到,请多关照
只是一个大一的新生啦,现在也正在学习C语言,希望用这个博客来记录下自己学习中的一些困惑和问题,应该还会有一些OJ的题目和感悟,就从现在开始吧~原创 2015-11-29 22:12:21 · 415 阅读 · 0 评论 -
UVa 10340 All in All
3-9本题一遍AC,主要思路是因为字符串序列不变,只要按顺序向后读字符串即可,代码如下:#include #include char s[100000], t[100000];int main(void){ int i, j, n, count = 0; while (1 == scanf("%s", s)) { getchar(); scanf("%s", t);原创 2016-02-04 19:32:16 · 361 阅读 · 0 评论 -
UVa 1585 Score
3-1 (UVa 1585)此题较为简单,记录连续读入O 的个数即可,代码如下#include int main(void){ char store[105]; int T, flag = 0, score = 0, i; scanf("%d", &T); getchar(); while (T--) { fgets(store, 100, stdin); for原创 2016-02-04 15:04:23 · 350 阅读 · 0 评论 -
UVa 1225 Digit Counting
3-3此题代码较为繁琐,前半部分初始化一整个数组为 "1234567891011....99989999" ,以便多组数据输入时直接查找即可,不必费时初始化;后半部分即为计数部分,代码如下:#include char s[50000];int main(void){ int T, N, count = 1, i = 0, find; int n0,n1,n2,n3,n4,n5原创 2016-02-04 15:09:06 · 462 阅读 · 0 评论 -
UVa 10474 Where is the Marble?
example 5-1第一次写C++,还是有点不熟悉...本题还是用了强大的C++库函数,有直接的排序函数,不需要像C一样自己写 cmp 的快排函数;其次是查找,这里用了 lower_bound 函数,它返回第一个大于等于 x 的位置,因此本题得解,代码如下:#include #include using namespace std;const int maxn = 10000;转载 2016-02-17 14:54:57 · 340 阅读 · 0 评论 -
UVa 253 Cube painting
4-4本题若无思路,用暴力穷举法也可以,但代码过于繁琐,且无锻炼编码思维的作用,因此上网查阅得到思路:只要相对面的三组颜色组合有一一对应的,那么该魔方可以通过旋转变换来得到,具体代码如下:#include int main(void){ int c, i, j, flag = 0, temp; char s1[10], s2[10]; while ((c = getchar(原创 2016-02-12 16:02:38 · 349 阅读 · 0 评论 -
UVa 213 Message Decoding
example 4-4本题为刘的算法竞赛第二版的第四章例题之一,本题巧妙地构建了一个解码用的函数头的二维数组,具体的代码如下:#include #include int readchar()//剔掉换行符{ for (;;) { int ch = getchar(); if (ch != '\n' && ch != '\r') return ch; }}in转载 2016-02-11 21:40:43 · 545 阅读 · 0 评论 -
UVa 133 The Dole Queue
example 4-3本题是一个简单的约瑟夫问题的变形,其中最为精妙的代码便是 go 函数里的那个 do-while 语句,它使得可以按顺时针或逆时针方向不断地加一减一,直到遇到没有被点名的人,代码如下:#include #define maxn 25int n, k, m, a[maxn];int go(int p, int d, int t){ while (t--) {转载 2016-02-11 10:48:05 · 354 阅读 · 0 评论 -
UVa 489 Hangman Judge
example 4-2本题是刘的算法竞赛第二版的例题,其中最精华的地方莫过于 win 和 lose 作为 if 的判断条件,并且使用了多个全局变量,来判断每一次的剩余和机会次数。其中 while 的判断语句本人稍改了一下,以便输入 -1 后可以不需要继续输入两个字符串才能结束程序。代码如下:#include #include #define maxn 100int left, c转载 2016-02-10 22:35:24 · 389 阅读 · 0 评论 -
UVa 227 Puzzles
3-5本题调试了许久,虽然最终仍然是WA, 但是一直未能查出纰漏之处,先将代码贴上,如日后查出bug,再前来编辑:(注释掉的是为了审查输出格式而输出到一个data.out文件)#include #include int main(void){// FILE *fout;// fout = fopen("data.out", "wb"); int i, j, m, c, x原创 2016-02-05 01:58:20 · 410 阅读 · 0 评论