问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

帮忙编写一个算法2

发布网友 发布时间:2023-10-19 20:14

我来回答

3个回答

热心网友 时间:2024-11-15 18:55

#include<iostream>
#include<string>
#include<stack>
using namespace std;
int main()
{
char a[100];
int i,j;
stack<char>aa;
scanf("%s",a);
getchar();
i=strlen(a)/2;
for(j=1;j<=i;j++)
aa.push(a[j-1]);
if(strlen(a)%2==0)
for(j=i+1;j<=strlen(a);j++)
{
if(aa.top()==a[j-1])
aa.pop();
else
break;
}
if(aa.size()==0)
printf("是回文数");
else
printf("不是会文数");
getchar();
return 0;
}

这是C语言写的,就是头文件用的是C++的,因为在C语言里面不能直接用栈,建议你学习一下C++的输入输出函数,以及用的头文件,很简单,大约五分钟就可以学会了!希望对你有帮助!呵呵

热心网友 时间:2024-11-15 18:55

实现逆转的函数为void ReverseQueue(),其他的都是辅助测试所用。

#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "math.h"

#define MAX 10

struct Queue
{
int front;
int rear;
int a[MAX];
}Que;

void Initial();
int InsertQueue(int n);
int DeleQueue();
void ReverseQueue();
void PrintQ();
//该函数是为了测试逆转函数的正确性
void TestFun();

int main()
{

Initial();
TestFun();
return 0;
}

void Initial()
{
Que.front=0;
Que.rear=0;
for (int i=0; i<MAX; i++)
{
Que.a[i] = 0;
}
}
int InsertQueue(int n)
{
if ( (Que.rear+1)%MAX == Que.front )
{
return 0;
}
Que.a[Que.rear] = n;
Que.rear = (Que.rear+1)%MAX;
return 1;
}

int DeleQueue()
{
if (Que.rear == Que.front)
{
return 0;
}
int temp;
temp = Que.a[Que.front];
Que.front++;
return temp;
}

void ReverseQueue()
{
int len;
len = (Que.rear-Que.front+MAX)%MAX;//total number in the queue
int start,end;
start = Que.front;
end = (Que.front+(len-1))%MAX;//the last number's index
int temp=0;
for (int i=0; i<len/2; i++)
{
temp = Que.a[end];
Que.a[end] = Que.a[start];
Que.a[start] = temp;
start = (start+1)%MAX;
end = (end-1+MAX)%MAX;
}
}

void PrintQ()
{
printf("\n");
int len = (Que.rear-Que.front+MAX)%MAX;
int k=Que.front;
for (int i=Que.front; i<Que.front+len; i++)
{
printf("%d ",Que.a[k]);
k = (k+1)%MAX;
}
}
//该函数是为了测试逆转函数的正确性
void TestFun()
{
int i=0;
for (i=0; i<MAX; i++)
{
if (InsertQueue(i) == 0)
{
printf("\nQueue is full!");
break;
}
}
PrintQ();
for (i=0; i<MAX/2; i++)
{
DeleQueue();
}
printf("\nAfeter delete %d number in the queue",MAX/2);
PrintQ();
ReverseQueue();
printf("\nReverse ==>");
PrintQ();
for (i=0; i<MAX/2; i++)
{
InsertQueue(i*8);
}
printf("\nAfter insert %d number in the queue",MAX/2);
PrintQ();
ReverseQueue();
printf("\nReverse ==>");
PrintQ();
printf("\n");
}

热心网友 时间:2024-11-15 18:56

你都没说什么语言
bool IsHuiWen(char[] str)
{
int len=strlen(str);
int i=0;
int j=len-1;
while(i<j)
{
if(str[i]!=str[j])
break;
i++;
j--;
}

if(i<j) return FALSE;
else return TURE;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 长生谷团购门票多少钱 “唐宋变革论”具体内容是什么?84 跑步减肥,一下子跑不了那么长时间怎么办11 ...2 个 网站 要放上去,主机头一样(127.0.0.1),端口(8080,8081) 不同... 每一个人都有他有生俱来的特质,最后一定能苦尽甘来。———《魔... 是不是每一个人心里,都有一份无法言语的伤?是不是每个人心里,...3 土木工程 工民建方面的 学3D MAX 有用吗?? 徐州有哪些特产及本地的香烟49 我的网卡是技嘉的,要下载无线网卡驱动,应该下载怎样的? 2个超级白痴的英语问题,求正解,谢谢! 男女对视为什么会愣住57 压缩包里面的漫画用什么app看比较好?6 加拿大留学办GIC存款,后来未去签证,怎么退款5 求一个好听的公会名字,有点欧美风格的。 我是女孩14岁了,为什么我的那里没毛啊!!!31 大王椰板材好吗?32 大王椰板材好不好 定制衣柜什么板材好6 什么软件在手机上看自己在网上下的漫画比较好用的?1 想去信阳南湾湖玩,想问一下在购买了门票之后,去那些岛屿还要买... 河南信阳鸡公山和南湾湖两日游 编程判断输入的一串字符是否为回文。所谓回文是指顺读和倒读都一...13 为什么A站要叫做A站,b站又被叫做b站,到底是啥45 数据结构习题:编写判断一个字符序列是否是回文的函数。非常急,...11 舍饲肉羊尿结石病的原因与对策有哪些求解答5 孟子“暴君放伐论”具体内容是什么?10 霍金时间论内容是什么? 木工师傅建议我用大王椰的板材做衣柜家具,那个板材好吗?9 大王椰板材质量怎么样?6 羊尿不出尿怎么治疗202 英文问题求解。。。帮忙查看那个选项正确,再分别说明其它4个为什么不对... 为什么我的手没毛26 欧美风的网名207 帮忙想一个名字,法国 欧美 意大利风格都行,英文带翻译 既简...1 话梅为什么是酸的?12 海尔超薄空调的外机尺寸是多大? 公司组织去巴厘岛旅游,公司名:树人,地点:巴厘岛,求横幅、标... 我单位组织去黄山旅游,想要写个标语横幅,急求一条有创意的横幅...19 单位组织去旅游,要求红条幅团队宣传口号,高手帮帮忙!我们是医... 公司员工去海边旅游,想做个条幅 请各位高手帮忙想个口号:辽宁...4 不出门就能挣钱的行业有吗?176