c语言
一些简单的C语言题目
lukeBai
无问西东
展开
-
链栈的基本操作
#include<stdio.h>#include<stdlib.h>typedef struct linknode{ int data; struct linknode *next;}LinkStack;void InitStack(LinkStack *&s){ s=(LinkStack *)malloc(sizeof(LinkStack)); s->next=NULL;}bool StackEmpty(LinkStack原创 2021-06-10 20:59:43 · 447 阅读 · 0 评论 -
共享栈的基本操作
#include<stdio.h>#include<stdlib.h>#define MaxSize 50typedef struct{ int data[MaxSize]; int top0; int top1;}Dstack;void InitDstack(Dstack *&s){ s=(Dstack *)malloc(sizeof(Dstack)); s->top0= -1; s->top1= Max原创 2021-06-10 20:58:52 · 394 阅读 · 0 评论 -
顺序栈的基本操作
#include<stdio.h>#include<stdlib.h>#define MaxSize 50typedef struct{ int data[MaxSize]; int top;}SqStack;void InitStack(SqStack *&s){ s=(SqStack *)malloc(sizeof(SqStack)); s->top=-1;}bool StackEmpty(SqStack *&原创 2021-06-10 20:57:57 · 571 阅读 · 0 评论 -
单链表的各项操作
数据结构单链表的各项操作#include<stdio.h>#include<stdlib.h>typedef struct Node{ int data; struct Node *next;}LinkNode;void CreateListF(LinkNode *&L,int a[],int n){ LinkNode *s; L=(LinkNode *)malloc(sizeof(LinkNode)); L->next原创 2021-04-13 18:16:36 · 112 阅读 · 0 评论 -
求数字的各个位上
#include<stdio.h>int main(){long a,b,c;while(scanf("%ld",&a),a!=0)//输入a,以a=0结束{while(a>=10)//总数和小于10{c=0;while(a){b=a%10;a=a/10;c=c+b;//求各个数位之和}a=c;//输出a}printf("%ld\n",a...原创 2018-11-27 22:36:31 · 326 阅读 · 0 评论 -
求阶乘的最高位
#include&lt;stdio.h&gt;int main(){&nbsp;long n,i;&nbsp;double a=1.0,b=1.0;&nbsp;scanf("%ld",&amp;n);&nbsp;for(i=1;i&lt;=n;i++)&nbsp;{&nbsp;&am原创 2018-12-12 21:39:52 · 269 阅读 · 0 评论 -
逆序输出一个数(前导是0不输出)
#include<stdio.h>#include<math.h>int main(){int i,a[1000],n,b=0,c,j;scanf("%d",&n);for(i=0;n>0;i++){a[i]=n%10;//求各个位的数字n=n/10;}for(j=i-1,c=0;j>=0;j–,c++)//将j和c反着输,处理逆序...原创 2018-12-12 22:09:27 · 4359 阅读 · 0 评论 -
时间转换
#include<stdio.h>int main(){int t,h,m,s,a,b,c;scanf("%d",&t);//输入多少秒a=t/3600;//表示多少小时b=(t%3600)/60;//表示多少分钟c=(t%3600)%60;//表示多少秒printf("%02d:%02d:%02d:\n",a,b,c);//按时间的格式输出return 0;...原创 2018-12-12 22:25:36 · 139 阅读 · 0 评论 -
将一个英文句子各个的单词首字母大写
#include<stdio.h>int main(){char str[1000],ch;while(~scanf("%s%c",str,&ch))//巧用scanf函数不能输出空格的特点,ch是用来处理空格的{str[0]=str[0]-32;//将首字母的小写变大写printf("%s%c",str,ch);//没有ch就会在句子后多一个空格}retur...原创 2018-12-12 22:38:16 · 1733 阅读 · 0 评论 -
数据特别大时,求数各个位上的之和,如果和大于10,重复操作,直到和小于10
#include<stdio.h>int main(){char str[1000];//数据太大,用字符数组int d=0,x,i,sum;while(scanf("%s",str)&&str[0]!=‘0’)//多组数据输入,直到输入0{sum=0;for(i=0;i<strlen(str);i++){sum=sum+(str[i]-‘0’...原创 2018-12-12 23:10:42 · 1072 阅读 · 0 评论 -
分割字符串(输出不同单词的个数)
分割字符串(输出不同单词的个数)#include<set>#include<iostream>#include<sstream>//使用istringsream必须加using namespace std;int main(){ string s; while(getline(cin,s)&&s!="#")//输入字符...原创 2019-05-22 21:06:53 · 381 阅读 · 0 评论 -
广搜(BFS)和深搜(DFS)
广搜(BFS)和深搜(DFS)深搜(DFS Depth First Search)深搜先从一条分支进行纵向搜到底,然后再从另一条分支搜到底,把所有的情况都遍历一遍。并且每一个节点只能遍历一次。![]框架:DFS(N) //N代表目前DFS的深度{if(找到解) //进行相应的操作{ …return;}for(inti=0;i<4;i++) //枚举四个方向{D...原创 2019-05-25 20:26:02 · 350 阅读 · 0 评论 -
大数相加 c++
大数相加两个很大的数相加,假如直接定义成int ,long,long long ;肯定都是不行的,因为存不下这么大的数。所以,可以用两个数组把每一个数的位数存下来,再每个位的数相加,当然,要注意进位。#include <iostream>#include<cstring>using namespace std;int a[500]={0};<<对数...原创 2019-06-05 20:30:02 · 484 阅读 · 1 评论