C语言
xu758142858
这个作者很懒,什么都没留下…
展开
-
HDU 1037 Keep on Truckin'
/*题目大意:输入三个数,如果三个数中有比168小的就输出CRASH %d,如果没有则输出NO CRASH。memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。memset用法:头文件说明:在C语言中需引入string.h原创 2015-03-02 11:31:12 · 472 阅读 · 0 评论 -
1195 最长&最短文本
# include # include struct string{ char str[20]; int len;};int find_max(string * s, int num){ int i,max = s[0].len; for(i = 1; i < num; i++) { if(max < s[i].len) max = s[i].len; }原创 2015-03-07 22:17:32 · 416 阅读 · 0 评论 -
1185 特殊排序
/*思路:1、先排序2、在输出最后一个元素3、把第一个到倒数第二个的元素输出*/# include int main(void){ int n,a[1000]; while(scanf("%d", &n) != EOF) { getchar(); //吸收回车符。 if(n <= 0) break; int i,j,max,temp; for(i =原创 2015-03-08 21:20:52 · 534 阅读 · 0 评论 -
HDU 1076 An Easy Task
/*算闰年,思路简单,按照题目的要求就行了判断闰年的条件((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)*/# include int judge_leap(int year){ if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))原创 2015-03-07 09:25:39 · 644 阅读 · 0 评论 -
HDU 1084 What Is Your Grade?
/*题目大意:1、根据回答问题的数目,决定学生的分数;2、回答题目数相同者,根据回答的时间的快慢,决定学生的分数;3、回答题目数相同者,只有一个人可以获得95,85,75,65的分数,其他人只能为90,80,70,60*/# include struct Student /*结构体,用于存储输入的数据*/ { int solved; /*解决问题的数目*原创 2015-03-07 14:47:57 · 569 阅读 · 0 评论 -
1196 成绩排序
/*题目大意很清楚,水题*/# include struct Student{ int id; int grade;};void sort(Student * stu, int num){ Student temp; int i,j; for(i = 0; i < num; i++) { for(j = 0; j < num-1; j++) { if(s原创 2015-03-07 21:12:21 · 407 阅读 · 0 评论 -
1194 八进制
# include # include int main(void){ int i,n,q,r,s[100]; while(scanf("%d", &n) != EOF) { getchar(); //吸收回车符。 if(n < 0) break; for(i = 0;; i++) { q = n / 8; //printf("%d\n", q);原创 2015-03-07 21:41:59 · 615 阅读 · 0 评论 -
1205 N阶楼梯上楼问题
/*题目描述:N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)输入:输入包括一个整数N,(1<=N<90)。输出:可能有多组测试数据,对于每组数据,输出当楼梯阶数是N时的上楼方式个数。样例输入:4样例输出:5基本思路:走到第n阶时,可能是从第n-1阶走一步到的,也可能是从n-2阶走两阶到的,设F(n)为走到n阶的种数,则F(n)=F(n-1)原创 2015-03-08 09:32:21 · 990 阅读 · 0 评论 -
1193 矩阵转置
/*输入一个N*N的矩阵,将其转置后输出*/# include int main(void){ int dim,matrix[100][100] = {0},temp = 0; while(scanf("%d", &dim) != EOF) { getchar(); //吸收回车符。 if(dim <= 0) break; int i,j; for(i =原创 2015-03-08 13:18:55 · 543 阅读 · 0 评论 -
1200 最大的两个数
/*题目描述: 输入一个四行五列的矩阵,找出每列最大的两个数。输入: 输入第一行包括一个整数n(1<=n<=1000),接下来的四行每行包括五个整数。代表一个四行五列的矩阵,矩阵元素全部是整数。输出: 可能有多组测试数据,对于每组数据,按照样例输出的格式将每列最大的两个数输出,如果最大的两个数中的一个数在这一列中有多个相同的值,则行值取行值小的那一个。 输出时原创 2015-03-08 20:50:58 · 686 阅读 · 0 评论 -
1180 对称矩阵
/*题目描述:输入一个N维矩阵,判断是否对称。输入:输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。接下来的N行,每行包括N个数,表示N*N矩阵的元素。输出:可能有多组测试数据,对于每组数据,输出"Yes!”表示矩阵为对称矩阵。输出"No!”表示矩阵不是对称矩阵。样例输入:416 19 16 6 19 16 14 5 16 14 16 3 6 5 3原创 2015-03-09 21:21:08 · 894 阅读 · 0 评论 -
1182 统计单词
/*题目描述:编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。(凡是以一个或多个空格隔开的部分就为一个单词)输入:输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。输出:可能有多组测试数据,对于每组数据,输出字符串中每个单词包含的字母的个数。样例输入:hello how are yo原创 2015-03-09 20:04:15 · 567 阅读 · 0 评论 -
1183 守形数
/*若正整数n是它的平方数的尾部,则称n为守形数,又称同构数.例如:6是其平方数36的尾部,76是其平方数5776的尾部,6和76都是守形数.这些也是:6^=3625^2=62576^2=5776376^=141376625^=390625编程技巧:1.传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数2.直接用log原创 2015-03-09 21:08:33 · 1095 阅读 · 1 评论 -
CQU_回文数
/*分析:10取余的方法,从最低位开始,依次取出该数的各位数字。按反序重新构成新的数,比较与原数是否相等,若相等,则原数为回文。*/# include bool syn(int n);int main(void){ long a,b; while(scanf("%d %d", &a, &b) != EOF) { getchar(); //吸收回车符。 in原创 2015-03-11 12:11:18 · 587 阅读 · 0 评论 -
1185 特殊排序
/*使用快排实现题目描述:输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。输入:输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。接下来的一行有N个整数。输出:可能有多组测试数据,对于每组数据,第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。第二行将排序的结果输出。样例输入:41 3 4 2样例输出:原创 2015-03-13 22:29:54 · 603 阅读 · 0 评论 -
1203 IP地址
# include int main(void){ int n; scanf("%d", &n); while(n--) { getchar(); //吸收回车符。 int a,b,c,d; scanf("%d.%d.%d.%d", &a, &b, &c, &d); if((a >= 0 && a = 0 && b = 0 && c = 0 && d <= 2原创 2015-03-08 15:17:30 · 475 阅读 · 0 评论 -
1192 回文字符串
# include # include int main(void){ char s[1010]; while(scanf("%s", s) != EOF) { getchar(); //吸收回车符。 int i,len,q,flag = 1; len = strlen(s); q = len / 2; if((len % 2) != 0) q++;原创 2015-03-08 12:31:46 · 625 阅读 · 0 评论 -
HDU 1073 Online Judge
/*模拟OJ系统进行测评的过程如何去测评两组数据呢?完全匹配当然就是AC啦,那PE和WA如何发现呢?题目思路:将输入的两组数据去掉'\n','\t' 和' ',得到新的两组数据,那么这两组数据如果不是完全匹配的,结果一定是WA。如果这两组匹配了,去掉'\n','\t' 和' '前的不完全匹配则是PE。如果去掉前的两组数据完全匹配,则是AC。*/# include # inclu原创 2015-03-06 12:39:51 · 563 阅读 · 0 评论 -
HDU 1038 Biker's Trip Odometer
/*题目大意:单位换算 给定直径(inches),转数(inche),时间(s)求出总路程(mile)和速度(mile/hour)1foot(一英尺) = 12inches(英寸)1mile(英里) = 5280feet(英寸) = 5280*12inche(英寸)*/# include double PI = 3.1415927;int main(void){ int r原创 2015-03-02 11:56:23 · 430 阅读 · 0 评论 -
%.nf和%m.nf的区别
/*%.nf和%m.nf的区别(一)、格式控制符m.n,m表示输出数据总宽度(包括小数点 . ),n表示数据精度,具体因数据类型而不同。1 m:总宽度,包括小数点2 n:小数部分位数3 m>n+1, 也可以小于, 但编译结果会按实际数据输出4 如果m过大, 会在左边补空格(二)、%.nf 总长度不限,小数点后面保留n位,不足补零*/#includeint main(void)原创 2015-03-02 13:39:38 · 9980 阅读 · 0 评论 -
HDU 1039 Easier Done Than Said
/*题目:给你一个小写字符串,判断是否安全,安全规则如下:1.包含元音字母;2.相邻3个元素不能都是元音或辅音;3.连续2个字母相同之能是o或e。*/# include # include int judge1(char c) //判断字符是不是元音{ return (c == 'a' || c == 'e' || c == 'i' || c == 'o' ||原创 2015-03-02 12:54:35 · 389 阅读 · 0 评论 -
HDU 1046 Gridland
详细分析:http://blog.csdn.net/kdwycz/article/details/8254854/*假设你的n是0x0002,二进制就是0000000000000010,那么1是0x0001,二进制就是0000000000000001,两个做位运算后就是0,每个位和每个位要做位与运算再举个例子,6的二进制是0110,11的二进制是1011,那么6 & 11(也可以原创 2015-03-02 15:12:50 · 370 阅读 · 0 评论 -
HDU 1048 The Hardest Problem Ever
char* gets(char* str);从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。int puts(const char *string);puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s);其中原创 2015-03-02 18:00:57 · 339 阅读 · 0 评论 -
HDU 1049 Climbing Worm
/*给出高度n,每分钟爬的高度u,休息时每分钟下滑的高度d。先爬一分钟再休息一分钟,如此类推,直到爬到了高度n。求花了多少分钟。当n=0时结束。没有总结公式,直接模拟即可;*/# include int main(void){ int n,u,d; while(scanf("%d %d %d",&n, &u, &d) != EOF) { getchar();原创 2015-03-03 20:37:24 · 445 阅读 · 0 评论 -
HDU 1052 Tian Ji -- The Horse Racing
/*题目大意:田忌和国王赛马,田忌每赢一局可以赢得200元,输了则输200,平局无盈亏。eg:3---代表每人有几匹马92 83 71----田忌的马95 87 74----国王的马贪心的策略:一、当田忌最快的马比国王最快的马快时,用田忌最快的马赢国王最快的马。二、当田忌最快的马比国王最快的马慢时,用田忌最慢的马输给国王最快的马。三、当田忌最快的马跟国王最快的马一样快时,分情况。原创 2015-03-04 13:22:25 · 503 阅读 · 0 评论 -
HDU 1062 Text Reverse
/*题目意思很简单,但是要注意空格思路:1、遍历一遍即把字符输出,所以需要计数器count(代表需要转置的起始位置),i用于表示转置的结束位置2、对于空格要特殊处理;*/# include # include int main(void){ int n; char str[50]; while(scanf("%d",&n) != EOF) { getchar()原创 2015-03-04 15:28:40 · 515 阅读 · 0 评论 -
HDU 1064 Financial Management
/*求12个月的平均数,实在太水*/# include int main(void){ int month; double penny[12],sum = 0,ave = 0; scanf("%d", &month); getchar(); //吸收回车符。 for(int i = 0; i < month; i++) { scanf("%lf", &penny[原创 2015-03-04 16:33:36 · 554 阅读 · 0 评论 -
HDU 1070 Milk
/*题目大意:Ignatius喝牛奶,给出一些牛奶的参数,从中选出性价比最高的牛奶。 喝牛奶的三个条件 1. 喝同一瓶牛奶不能超过5天 2.不喝200ml以下的 求最便宜的 ,若最便宜的不止一个,选最多的。 题目分析: Yili 10 500 --品牌、价格、容量 Yili 10 500 相当于每天5元 Mengniu 20 1000 相当于每天4元 由原创 2015-03-04 20:03:34 · 458 阅读 · 0 评论 -
1191 矩阵最大值
/*题目描述:编写一个程序输入一个mXn的矩阵存储并输出,并且求出每行的最大值和每行的总和。要求把每行总和放入每行最大值的位置,如果有多个最大值,取下标值最小的那一个作为最大值。最后将结果矩阵输出。输入:输入的第一行包括两个整数m和n(1<=m,n<=100),分别代表矩阵的行和列的维数。接下来的m行每行有n个数,代表矩阵的元素。输出:可能有多组测试数据,对于每组数据,输出按题目原创 2015-03-08 12:11:03 · 689 阅读 · 0 评论 -
1199 找位置
/*题目描述:对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。输入:输入包括一个由字母和数字组成的字符串,其长度不超过100。输出:可能有多组测试数据,对于每组数据,按照样例输出的格式将字符出现的位置标出。样例输入:abcaaAB12ab12样例输原创 2015-03-08 19:55:26 · 431 阅读 · 0 评论 -
1187 最小年龄的3个职工
/*建立相应的数据结构就可以解决问题*/# include struct Employee{ int id; char name[20]; int age;};void sort(Employee * person, int n){ Employee temp; int i,j; for(i = 0; i < n; i++) { for(j = 0; j <原创 2015-03-08 21:45:41 · 383 阅读 · 0 评论 -
1054 字符串内排序
/*题目描述:输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。输入:测试数据有多组,输入字符串。输出:对于每组输入,输出处理后的结果。样例输入:bacd样例输出:abcd*/# include # include int main(void){ int len,i,j; char s[210],temp; while(scanf("原创 2015-03-13 23:01:01 · 664 阅读 · 0 评论