![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 70
L-75
这个作者很懒,什么都没留下…
展开
-
大数的加法
#include #include int main(){ int a[100],b[100],c[100]; char ch1[100],ch2[100]; int i,peace=0; int index=0; int k,j; printf("请输入第一个数字:\n"); scanf("%s",ch1); for(i=0;i<strlen(ch1);i++) //原创 2014-11-22 11:31:10 · 532 阅读 · 0 评论 -
HDU 2690 Boys and girls
Boys and girlsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 901 Accepted Submission(s): 248Problem DescriptionIn a big party,th原创 2015-08-21 23:08:07 · 777 阅读 · 0 评论 -
约瑟夫问题(数到3出局)----链表操作
n个人排成一圈。从某个人开始,按顺时针方向依次编号。从编号为1的人开始顺时针“一二三”报数,报到3的人退出圈子。这样不断循环下去,圈子里的人将不断减少。求出最后剩下的人是第几个人。之前用数组写的,现在用循环链表操作写一下:#include #include typedef struct LNode{ int data; struct LNode *next; }LNode,*Li原创 2015-09-27 09:57:15 · 1706 阅读 · 0 评论 -
栈的应用--十进制转n进制(基础版)
要求:输入一个十进制数,利用栈操作,将该数转换成n进制数。因为写数据结构,所有写成了一个个函数的模块,其实用不了这么长的。#include typedef struct { int base[1000]; int top; int strcksize;}Strck;int StrckEmpty(Strck S){ if(S.top==0) return 1;原创 2015-09-24 10:26:48 · 2605 阅读 · 0 评论 -
HUD 2051 Bitset
BitsetTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16057 Accepted Submission(s): 12199Problem DescriptionGive you a number on原创 2015-09-13 20:02:46 · 364 阅读 · 0 评论 -
舞伴配对问题---队列的应用
循环队列的应用——舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。假设初始男、女人数及性别已经固定,舞会的轮数从键盘输入。试模拟解决上述舞伴配对问题。要求:从屏幕输出每一轮舞伴配对名单,如果在该轮有未配对的,能够从屏幕显示下一轮第一个出场的未配对者的姓名。#include #incl原创 2015-09-29 20:47:49 · 13174 阅读 · 2 评论 -
HDU 2052 Picture
PictureTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 20540 Accepted Submission(s): 10535Problem DescriptionGive you the width a原创 2015-09-13 20:00:24 · 341 阅读 · 0 评论 -
线性表实验课
(1)顺序表的操作① 输入一组整型元素序列,建立线性表的顺序存储结构。② 实现该线性表的遍历。③ 在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。④ 在该顺序表中删除或插入指定元素。⑤ 建立两个按值递增有序的顺序表,将他们合并成一个按值递增有序的顺序表。#include #include #define Length 100#define SizeL原创 2015-09-15 21:17:58 · 642 阅读 · 0 评论 -
贪心入门--最优装载问题
问题描述:有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。编程任务: 对于给定的n个集装箱和轮船的载重量C,编程计算装入最多时的集装箱个数。输入:输入由多组测试数据组成。每组测试数据输入的第1行中有2个正整数n和C。正整数n是集装箱个数;正整数C是轮船的载重量。接下来的一行中有原创 2015-09-16 20:46:46 · 2821 阅读 · 0 评论 -
单链表操作的实验课
单链表的操作① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。② 实现该线性表的遍历。③ 在该单链表的第i个元素前插入一个整数。④ 删除该单链表中的第i个元素,其值通过参数将其返回。⑤ 建立两个按值递增有序的单链表,将他们合并成一个按值递减有序的单链表。要求利用原来//链表的建立,插入,删除 ,合并链表;#include #include typedef原创 2015-09-20 00:43:19 · 665 阅读 · 0 评论 -
括号匹配---栈的应用
输入一个表达式,表达式中包括三种括号“()”、“[]”和“{}”,判断该表达式的括号是否匹配。//括号匹配 #include #include typedef struct Strck{ char base[200]; int top; int Strcksize;}Strck;void InitStrck(Strck &S){ S.Strcksize=200; S.t原创 2015-09-29 15:11:01 · 564 阅读 · 0 评论 -
栈的基本操作
#include typedef struct stack{ int top; int base[100]; int stacksize;}Stack;void InitStack(Stack &S){//建立一个栈 S.top=0; S.stacksize=100;}int StackEmpty(Stack S){//栈的判空操作 if(S.top==0)原创 2015-09-24 07:36:36 · 521 阅读 · 0 评论 -
C语言格式化输入输出
来源地址:http://blog.csdn.net/zhangmh93425/article/details/44496559 printf:格式字符串的一般形式:[标志][输出最小宽度][. 精度][长度] 类型 (其中方括号[] 中的项为可选项。)各项意义:1) 类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:转载 2015-11-12 20:12:05 · 6185 阅读 · 0 评论 -
0-1背包 回溯法
#include int n,c,v[105],w[105];int max=-1;void dfs(int t,int temp_w,int temp_v){ if(t==n) { if(temp_wmax) max=temp_v; return ; } temp_w+=w[t]; temp_v+=v[t]; dfs(t+1,temp_w,temp_v);原创 2016-01-19 19:36:15 · 600 阅读 · 0 评论 -
集合最大乘积
#include int a[1005];int n;int max=-1;void dfs(int sum,int t){ if(t==n) { if(sum>max) max=sum; return ; } dfs(sum*a[t],t+1); dfs(sum,t+1);}int main(){ int i,j; scanf("%d",&n);原创 2016-01-19 19:49:45 · 593 阅读 · 0 评论 -
蓝桥杯 李白打酒
标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。原创 2016-01-20 11:13:33 · 836 阅读 · 0 评论 -
文件的读取与写入操作
1、文件的重定向操作#include int main(){ freopen("input.txt","r",stdin); //重定向操作,所有的scanf在input.txt中读取; freopen("output.txt","w",stdout); //重定向操作,所有的printf都输入到output.txt int i; int a[15]; for(i=1;i<=10原创 2015-12-07 23:22:18 · 856 阅读 · 2 评论 -
线性表的操作(完成表的建立,插入,删除,排序,销毁,查找 )
#include #include #define Length 100#define AddLength 50//完成表的建立,插入,删除,排序,销毁,查找 typedef struct { int *elem; int length; int listsize;}SqList;void InitList(SqList &L){//构建一个线性表 int n; i原创 2015-09-10 17:19:44 · 1866 阅读 · 0 评论 -
背包问题总结(01背包、完全背包、多重背包)
1、 01背包问题有n个物品,每个物品只有一件。动归方程:(1) 二维数组解法 dp[i][j]=max{dp[i-1][j-w[i]]+v[i] , dp[i-1][j]};(2) 一维数组解法 dp[j]=max{dp[j-w[i]]+v[i] , dp[j]}附代码:HDU 2602 Bone Collector二维数组:#in原创 2015-09-01 21:50:01 · 1171 阅读 · 0 评论 -
素数打表
#include #include int a[200005];int main(){ int i,j,n; memset(a,0,sizeof(a)); for(i=2;i<=200000;i++) { if(!a[i]) for(j=i+i;j<=200000;j+=i) a[j]=1; } scanf("%d",&n); for(i=2;i<=n;原创 2015-08-14 10:01:32 · 394 阅读 · 0 评论 -
大数的乘法(正数)
#include #include int main(){ char ch1[100],ch2[100]; int a[100],b[100],c[100],d[100]={0}; int i,j,k; int index,peace,temp; int flag; printf("input first char string:\n"); scanf("%s",ch1);原创 2014-11-27 16:28:58 · 566 阅读 · 0 评论 -
L型骨牌棋盘覆盖
设一个n*n棋盘,n=2^k,用L 型条块覆盖棋盘中除一个指定方格外的所有方格,每个L型条块可恰好覆盖3 个方格。例:假设n=8,指定左上角不能被覆盖,棋盘的一种覆盖方式如下。#include int a[100][100];int index=1; //辨别L型的标记void chessboard(int tx,int ty,int dx,int dy,int s原创 2015-01-26 20:22:00 · 3307 阅读 · 0 评论 -
银行卡密码
题目描述:在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。原创 2015-01-09 21:15:59 · 1537 阅读 · 0 评论 -
十六进制(8位)转十进制
#include #include int main(){ char a[10]; long long sum=0; int i,j; scanf("%s",a); for(i=0;i<strlen(a);i++) { if(a[i]>='A' && a[i]<='F') sum=sum*16+a[i]-'A'+10; else if(a[i]原创 2014-12-09 08:44:34 · 3393 阅读 · 0 评论 -
杨辉三角(一维数组)
#include int main(){ long long a[34]; int count=1,i; int n; scanf("%d",&n); a[0]=1; printf("%I64d",a[0]); putchar('\n'); for(i=1;i<n;i++) { a[0]=a[i]=1; for(count=i-1;count>=1;count--)原创 2014-12-09 11:08:26 · 2446 阅读 · 0 评论 -
约瑟夫问题(数到3的人出局,判断最后一个人是第几个)
#include int main(){ int a[100]; int n; int i; int count; int j=0; int index=0; scanf("%d",&n); for(i=0;i<n;i++) a[i]=i+1; for(i=0,count=1;(n-index)!=1;i=(i+1)%(n-index),count++) { i原创 2014-12-10 23:19:57 · 2390 阅读 · 0 评论 -
万年历
#include int fac(int year) //判断是否为闰年{ if(year%4==0 && year%100!=0 || year%400==0) return 1; else return 0;} int main(){ int year; int i,j; int index; int peace; long sum=0; p原创 2014-12-12 16:45:15 · 499 阅读 · 0 评论 -
学生管理系统
有10个学生,每个学生的数据包括学号、姓名、性别和1门课成绩,编写如下函数:①根据学生的信息建立链表;②输出链表;③输入一个学生的学号,查找链表中是否有该学生;④在第i个学生前插入一个学生信息;⑤删除链表中第i个学生。#include #include #include typedef struct student{ int num; char name[20];原创 2015-01-04 00:22:38 · 706 阅读 · 2 评论 -
钱币兑换
Problem Description在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。 Input每行只有一个正整数N,N小于32768。 Output对应每个输入,输出兑换方法数。 Sample Input293412553Sample Output71883113137761#includ原创 2015-03-22 09:16:13 · 470 阅读 · 0 评论 -
敌兵布阵--初识线段树
敌兵布阵Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 23 Accepted Submission(s) : 7Font: Times New Roman | Verdana | GeorgiaFont S原创 2015-05-08 11:07:24 · 421 阅读 · 0 评论 -
N皇后问题
八皇后问题是一个以国际象棋为背景的问题:如何能够在8×8的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当n = 1或n ≥ 4时问题有解。#include #include int a[100];int c原创 2015-01-27 14:44:51 · 619 阅读 · 0 评论 -
C语言中%*的含义和用法
在scanf() 中,当把*放在%和说明符字母之间时,它使用函数跳过相应的输入程序。#include int main(){ int n; printf("Please enter three integers: \n"); scanf("%*d %*d %d",&n); printf("The last integer was %d\n",n); return 0;原创 2015-06-23 00:22:02 · 14433 阅读 · 0 评论 -
HDU 1159
最简单的最长公共子序列问题上AC的代码//最长公共子序列#include #include int a[1005][1005];void LCSLength(char *str1,char *str2,int len1,int len2){ int i,j; for(i=1;i<=len1;i++) { for(j=1;j<=len2;j++) { if(str1原创 2015-08-13 08:46:40 · 706 阅读 · 0 评论 -
矩阵连乘问题(动态规划)
因为矩阵乘法满足结合律不满足交换律,所以矩阵乘法进行的顺序呢不同的相乘次数就有所不同。例如{A1,A2,A2}:A1 10*100A2 100*5A3 5*50A1A2A3,有两种加括号形式,即,(A1A2)A3和A1(A2A3);第一种乘积数乘次数为:10*100*5+5*100*50=7500第二种乘积数乘次数为:100*5*50+10*100*50=75000原创 2015-08-13 00:15:26 · 1207 阅读 · 0 评论 -
最长公共子序列
#include #include int a[1005][1005];int s[1005][1005];void LCSLength(char *str1,char *str2,int len1,int len2){ int i,j; for(i=1;i<=len1;i++) { for(j=1;j<=len2;j++) { if(str1[i-1]==str2[原创 2015-08-13 08:40:13 · 344 阅读 · 0 评论 -
关联账户 第六届蓝桥杯大赛个人赛决赛(C语言B组)第三题
标题:关联账户为增大反腐力度,某地警方专门支队,对若干银行账户展开调查。如果两个账户间发生过转账,则认为有关联。如果a,b间有关联, b,c间有关联,则认为a,c间也有关联。对于调查范围内的n个账户(编号0到n-1),警方已知道m条因转账引起的直接关联。现在希望知道任意给定的两个账户,求出它们间是否有关联。有关联的输出1,没有关联输出0小原创 2016-05-08 16:24:30 · 2151 阅读 · 2 评论