C语言
KeepTing
java开发工程师
展开
-
学生管理系统
#include struct student { int ID; char name [20]; int score[3]; float aver;}stu;void input (struct student stu[],int n){ int i,j; for (i=0;i<n;i++) { scanf ("%d",&stu[i原创 2015-06-09 20:47:18 · 465 阅读 · 0 评论 -
HDU 2156 分数矩阵 (水题)
Problem Description我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。请求出这个矩阵的总和。Input每行给定整数N (NOutput输出答案,保留2位小数。Sample Input12340原创 2016-03-12 14:59:43 · 805 阅读 · 0 评论 -
HDU 1280 前m大的数
Problem Description还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就可以了。给定一个包含N(NInput输入可能包含多组数据,其中每组数据包括两行:第一行两个数N和M,第二行N个数,表示该序列。原创 2016-03-06 07:54:31 · 439 阅读 · 0 评论 -
HDU 2550 百步穿杨 (水题)
Problem Description时维九月,序属三秋,辽军大举进攻MCA山,战场上两军正交锋.辽军统帅是名噪一时的耶律-James,而MCA方则是派出了传统武将中草药123.双方经过协商,约定在十一月八日正午十分进行射箭对攻战.中草药123早早就开始准备,但是他是武将而不是铁匠,造弓箭的活就交给聪明能干的你了,现在告诉你每种弓箭规格,即箭身的长度,以及每种规格弓箭所需要的数目,要求你把需要原创 2016-03-03 16:57:27 · 1731 阅读 · 0 评论 -
HDU 2575 Count Problem (水题)
Problem DescriptionIn this problem,we need to count the number that accord with the following rule(include the input number n).Read a integer number n(1(1)Do nothing, then exit the process.(2)Ad原创 2016-03-01 21:26:21 · 466 阅读 · 0 评论 -
HDU-3177 Crixalis's Equipment
Problem DescriptionCrixalis - Sand King used to be a giant scorpion(蝎子) in the deserts of Kalimdor. Though he's a guardian of Lich King now, he keeps the living habit of a scorpion like living u原创 2015-11-29 21:36:20 · 411 阅读 · 0 评论 -
统计页数(水)
统计数字问题。给定一本书,其中包含n页,计算出书的全部页码中用到了多少个数字0…9。#includeint main (){ int n; int i; int a[10]={0}; scanf("%d",&n); for(i=1;i<=n;i++) { int temp=i; while(temp!=0)原创 2016-09-07 08:29:24 · 535 阅读 · 0 评论 -
多少个1组成的整数可以被2011整除?(水)
#includeint main(){ int n=1111; int i,j=0; int a[15]; for(i=5;i<=2016;i++) { if(n%2011==0) { a[j++]=i; } n=(n%2011)*10+1; }原创 2016-09-07 08:58:11 · 845 阅读 · 0 评论 -
最大约数个数(暴力)
#includeint f(int n){ int sum=0; int temp; int i; for(i=1;i<=n;i++) { if(!(n%i)) { sum++; } } return sum;}int main(){ int a,b; int i; int max=0; scanf("%d%d",&a,&b); for(i=a;原创 2016-09-02 15:36:36 · 559 阅读 · 0 评论 -
求最大公约数的线性组合(扩展欧几里得)
#includeint x,y;int gcd(int a,int b){ //欧几里得算法求最大公约数 if(b==0) return a; return gcd(b,a%b);}int exgcd(int a,int b){ //扩展欧几里得算法原创 2016-09-04 17:39:14 · 2871 阅读 · 0 评论 -
1000的阶乘-HDU 1042-大数阶乘(万进制思想)
思路: 即用数组a,数组中的每个元素存储4位数,, 比如,计算9的阶乘,在计算到7的阶乘时,7!为5040,可以用a[0]存储5040,没有产生进位,然后8!=5040*8=40320,如果看成万进制则产生了进位,那么a[0]=320(注意输出时不足4位的要在前边补0),a[1]=4(最高位不用补0),9!=40320*9,那么a[0]*9=320*9=...原创 2016-10-02 20:32:41 · 1576 阅读 · 0 评论 -
大数加法
#include#includeint a[100];int main(){ int t; int i,l1,l2; int index; char s1[100],s2[100]; scanf("%d",&t); while(t--) { memset(a,0,sizeof(a)); scanf("%原创 2016-10-02 19:20:35 · 300 阅读 · 0 评论 -
HDU 1253 胜利大逃亡(DFS)
胜利大逃亡Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34912 Accepted Submission(s): 12496Problem DescriptionIgnati原创 2016-11-19 16:52:55 · 503 阅读 · 0 评论 -
HDU 1518 Square(DFS)
SquareTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13644 Accepted Submission(s): 4323Problem DescriptionGiven a set o原创 2016-11-19 17:11:38 · 324 阅读 · 0 评论 -
HDU 1242 Rescue(DFS)
RescueTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 27582 Accepted Submission(s): 9776Problem DescriptionAngel was caught by the原创 2016-11-19 20:37:17 · 303 阅读 · 0 评论 -
hdu 5512 (Pagodas) 2015 ACM/ICPC 亚洲区沈阳赛区 (题目编号1004)
Problem Descriptionn pagodas were standing erect in Hong Jue Si between the Niushou Mountain and the Yuntai Mountain, labelled from 1 to n. However, only two of them (labelled a and b, where 1≤a≠b≤n原创 2015-10-31 21:32:59 · 1955 阅读 · 0 评论 -
0-1背包问题(动态规划)
#include int main (){ int n,m; int w[100],p[100]; int i,j; int c[100][100]; scanf("%d%d",&n,&m); //输入背包容量 for (i=1;i<=m;i++) { scanf ("%d",&w[i]); scanf ("%d",&p[i]); } for原创 2015-06-13 08:36:51 · 386 阅读 · 0 评论 -
HDU-2539点球大战
Problem Description在足球比赛中,有不少赛事,例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中,当比赛双方经过正规比赛和加时赛之后仍然不分胜负时,需要进行点球大战来决定谁能够获得最终的胜利。点球大战的规则非常简单,两方轮流派出球员罚点球,每方各罚5个。当5轮点球结束以后如果仍然不分胜负,则进入一轮定胜负的阶段。两方各派一名球员罚点球,直到有一方罚进而另一方没有进为止。在北美职业冰球原创 2015-11-12 17:52:56 · 630 阅读 · 0 评论 -
验证角谷猜想
#include int fun (int n);int fnn (int n);int jnn (int n){ if (n%2!=0) { while (n%2!=0) { printf ("%d*3+1=%d\n",n,n*3+1); n=n*3+1; } return fun (n); } }int fun (int n)原创 2015-06-09 20:48:45 · 934 阅读 · 0 评论 -
水仙花数
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。 Input输入数据有多组,每组占一行,包括两个整数m和n(100 Output对于每个测试实例,要求输出所有在给定范围内的水仙花数,原创 2015-06-06 11:26:56 · 427 阅读 · 0 评论 -
暴力搜索解0-1背包问题
背包问题是算法中的经典问题,可以用许多种方法来求解。本处详细阐述一下基于暴力搜索的背包求解。 假设有n个物体,价值和重量分别用vi和wi来表示,用暴力搜索,我们将最终的解用一个向量来表示,因此所有的解空间可以用00...00到11...11来表示。而这些数恰对应0至2^n-1的二进制转换。因此可以基于该思想,利用二进制转换进行暴力搜索。 参考代码如: #include转载 2015-06-06 11:29:30 · 2573 阅读 · 0 评论 -
万年历
#include int year (int y){ if ((y%4==0) && (y%100!=0) || y%400==0) return 366; else return 365;}int main (){ int y,i,j,begin,sum=0; int week; int days[12]={31,28,31,30,31,30,31,31,30,31原创 2015-06-09 20:45:50 · 572 阅读 · 0 评论 -
ASCII码排序
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output对于每组输入数据,输出一行,字符中间用一个空格分开。 Sample Inputqweasdzxc Sample Outpute q wa d sc x z代码:原创 2015-06-06 11:12:50 · 455 阅读 · 0 评论 -
数组实现大数相加
#include #include int main(){ int flag=0,n; char s1[100],s2[100]; int a1[100],a2[100]; int i,j,max,l1,l2,k; scanf ("%d",&n); for (k=1;k<=n;k++) { scanf ("%s",s1); scanf ("%s",s2); mems原创 2015-06-06 15:30:53 · 716 阅读 · 0 评论 -
最长公共子序列(动态规划)
#include #include int f (int i,int j,char*x,int b[][20]){ if (i==0 || j==0) return; if (b[i][j]==1) { f (i-1,j-1,x,b); printf ("%c",x[i-1]); } else if (b原创 2015-08-11 11:09:39 · 338 阅读 · 0 评论 -
统计数n阶乘中0的位数
#include#includeint main (){ int n,m,i,sum; int count,flag; scanf ("%d",&n); while (n--) { count=1; flag=0; scanf ("%d",&m); sum=m; i=5;原创 2015-08-13 10:12:53 · 403 阅读 · 0 评论 -
最长子段和(动态规划)
#includeint main (){ int n,m,b; int flag1,temp1,temp2,flag2; int a[1000]; int i,k,sum; scanf ("%d",&n); for (k=1;k<=n;k++) { temp1=temp2=0; flag1=flag2=0; b=0; scanf ("%d",&m); for原创 2015-06-06 16:54:31 · 956 阅读 · 0 评论 -
利用坐标求任意多边形面积
#include int main (){ int i,j,n; int x[100],y[100]; while (scanf ("%d",&n),n) { float sum=0.0; for (i=0;i<n;i++) { scanf ("%d",&x[i]); scanf ("%d",&y原创 2015-08-04 21:08:41 · 2758 阅读 · 2 评论 -
归并排序(递归与分治)
#include #include void mer (int a[],int l,int m,int r ) //合并函数 { int i,j,k; int n1=m-l+1; int n2=r-m; int *f,*b; f=(int *) malloc (n1*sizeof (int)); b=(int *) malloc原创 2015-08-05 17:24:09 · 497 阅读 · 0 评论 -
大数取余
#include #include int main (){ int i,k; char a[1005]; int b; while (~scanf("%s%d",a,&b)) { k=0; for (i=0;i<strlen(a);i++) { k=k*10+a[i]-'0'; k=k%b; } printf (原创 2015-09-07 21:03:27 · 281 阅读 · 0 评论 -
求某年某月某日为星期几(蔡勒公式)
(或者是:)若要计算的日期是在1582年10月4日或之前,公式则为以1582年9月3日为例:1582年9月3日后:w = (d + 2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;1582年9月3日前:w = (d+2*m+3*(m+1)/5+y+y/4+5) % 7;注意:当年的1,2月要当成上一年的13,14月进行计算#include#i原创 2015-10-18 10:52:34 · 1724 阅读 · 0 评论 -
蓝桥杯—分糖果
问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式 程序首先读原创 2015-10-21 17:43:51 · 467 阅读 · 0 评论 -
快排模板
#include #includeint cmp (const void *a,const void *b){ return (*(int *)a-*(int *)b);}int main (){ int a[10]; int i,n; scanf("%d",&n); for (i=0;i<n;i++) scanf ("%d",&原创 2015-10-10 20:40:22 · 285 阅读 · 0 评论 -
蓝桥杯—兰顿蚂蚁
兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。 规则虽然简单,蚂蚁的行为却十原创 2015-10-20 17:04:05 · 490 阅读 · 0 评论