c++编程题，求大神解答............谢谢啦...........

1个回答

`````` #include<iostream>
using namespace std;
bool judge(char *str);
void sort(char *Selected[],int n);
int Length(char *str);
void print(char *Selected[],int n);
int main()
{
const int N=6;
char *p[N]={"f3dfg","1234321","232","sdfds","asdsa","asfxx"};
char *Selected[N];
int n=0;
int i=0;
for(i=0;i<N;i++)
{
if(judge(p[i])==false)
{
cout<<p[i]<<"不是回文字符！"<<endl;
}
else
{
cout<<p[i]<<"是回文字符！"<<endl;
Selected[n]=p[i];
n++;
}
}
sort(Selected,n);
print(Selected,n);
return 0;
}
//判断字符串是否为回文字符函数
bool judge(char *str)
{
bool flat=true;
int acount=0;
for(int i=0;*(str+i)!='\0';i++)
{
acount++;
}
for(int i=0;i<=(acount-1)/2;i++)
{
if(*(str+i)!=*(str+(acount-1)-i))
{
flat=false;
}
}
return flat;
}
//排序函数
void sort(char *Selected[],int n)
{
char* temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(Length(Selected[k])>Length(Selected[j]))k=j;
if(k!=i)
{temp=Selected[i];Selected[i]=Selected[k];Selected[k]=temp;}
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;Length(Selected[j-1])==Length(Selected[j]);j++)
if(strcmp(Selected[k],Selected[j]))k=j;
if(k!=i)
{temp=Selected[i];Selected[i]=Selected[k];Selected[k]=temp;}
}
}
//计算字符串长度的函数
int Length(char *str)
{
int acount=0;
for(int i=0;*(str+i)!='\0';i++)
{
acount++;
}
return acount;
}
//输出函数
void print(char *Selected[],int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<Selected[i]<<endl;
}
}
``````
tangqingyun 非常感谢

c++编程题，求大神解答............谢谢啦...........

c语言编程问题 求大神解答
Maximum number • Write a program that outputs maximum and minimum number in 10 random numbers • Range of the random number is 1-1000 • Use the for loop 例子) 400 509 392 949 667 606 364 338 120 441 Maximum number is 996 Minimum number is 120 ![图片说明](https://img-ask.csdn.net/upload/201510/04/1443958116_527706.jpeg)
c语言编程 求大神 求解答
• Write a program that outputs a diamond shape • Use ‘*’, ‘ ‘, and new line character(‘\n’) • Use the for statement • The first line has four ‘ ‘ and one ‘*’ • The second line has three ‘ ‘ and three ‘*’ • The third line has two ‘ ‘ and five ‘*’ • The fourth line has one ‘ ‘ and seven ‘*’ • The fifth line has nine ‘*’, and the following line is in reverse![图片说明](https://img-ask.csdn.net/upload/201509/30/1443592257_477647.png)

c语言编程问题求大神解答！

C编程题考题请教大神帮忙解答，非常感谢

c++编程，，跪求大神解答
#include<iostream> using namespace std; template<class datatype> struct BiNode { BiNode<datatype> *lchild; datatype data; BiNode<datatype> *rchild; }; template<class datatype> struct element { BiNode<datatype> *ptr; int flag; }; BiNode<char> *first,*bt,*q,*temp,stack[20],queue[20]; element<char> s[20]; int count=0; template<class datatype> class BiTree { void creat(BiNode<datatype> *bt) { char ch; cin>>ch; if(ch=='#') bt=NULL; else { bt==new BiNode<datatype>; bt->data=ch; creat(bt->lchild); creat(bt->rchild); } } void preorder(BiNode<datatype> *bt) { int top=-1; while(bt!=NULL || top!=-1) { while(bt!=NULL) { cout<<bt->data; stack[++top]=*bt; bt=bt->lchild; } if(top!=-1) { bt=&stack[top--]; bt=bt->rchild; } } } void inorder(BiNode *bt) { int top=-1; while(bt!=NULL || top!=-1) { while(bt!=NULL) { stack[++top]=*bt; bt=bt->lchild; } if(top!=-1) { bt=&stack[top--]; cout<<bt->data; bt=bt->rchild; } } } void postorder(BiNode *bt) { int top=-1; while(bt!=NULL || top!=-1) { while(bt!=NULL) { top++; s[top].ptr=bt; s[top].flag=1; bt=bt->lchild; } while(top!=-1 && s[top].flag==2) { bt=s[top--].ptr; cout<<bt->data; if(top==-1); bt=NULL; } if(top!=-1) { s[top].flag=2; root=s[top].ptr->rchild; } } } void levelorder(BiNode *bt) { int front,rear; front=rear=0; if(bt==NULL) return; queue[++rear]=*bt; while(front!=rear) { q=&queue[++front]; cout<<q->data; if(q->lchild!=NULL) queue[++rear]=*(q->lchild); if(q->rchild!=NULL) queue[++rear]=*(q->rchild); } } void dgpreorder(BiNode *bt) { if(bt==NULL) return; else { cout<<bt->data; dgpreorder(bt->lchild); dgpreorder(bt->rchild); } } void dginorder(BiNode *bt) {if(bt==NULL) return; else { dginorder(bt->lchild); cout<<bt->data; dginorder(bt->rchild); } } void dgpostorder(BiNode *bt) { if(bt==NULL) return; else { dgpostorder(bt->lchild); dgpostorder(bt->rchild); cout<<bt->data; } } void countleaf(BiNode *bt,int &count) { if(bt!=NULL) { if(bt->lchild==NULL && bt->rchild==NULL) count++; countleaf(bt->lchild,count); countleaf(bt->rchild,count); } } void main() { BiTree<char> my; cout<<"请依次输入拓展二叉树的前序遍历序列:"<<endl; my.creat(bt); first=bt; cout<<"以下为非递归算法的各种遍历序列:"<<endl; cout<<"二叉树的前序遍历序列为:"<<endl; my.preorder(first); cout<<"二叉树的中序遍历序列为:"endl; my.inorder(first); cout<<"二叉树的后序遍历序列为:"<<endl; my.postorder(first); cout<<"二叉树的层序遍历序列为:"<endl; my.levelorder(first); cout<<"以下为递归算法的各种遍历序列:"<<endl; cout<<"二叉树的前序遍历序列为:"<endl; my.dgpreorder(first); cout<<"二叉树的中序遍历序列为:"<<endl; my.dginorder(first); cout<<"二叉树的后序遍历序列为:"<<endl; my.dgpostorder(first); my.countleaf(first,count); cout<<"叶子结点的个数:"<<count<<endl; cout<<endl; } }; 总是出现这两个错误，请问要怎么解决？？ LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/bitree.exe : fatal error LNK1120: 1 unresolved externals 执行 link.exe 时出错.

opencv3新手编程求助,跪求大神解答

#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string> using namespace std; #define MAXSIZE 1000 typedef struct { int in; }IN; typedef struct { IN* base; IN* top; int stacksize; }SqStack;//构造栈元素 void InitStack(SqStack& s)//构造空栈s函数 { s.base = (IN*)malloc(MAXSIZE * sizeof(IN)); s.top = s.base; s.stacksize = MAXSIZE; } //入栈函数 void push(SqStack& s, int e) { s.top->in = e;//将e压入栈顶 s.top++;//top上移 } //出栈函数 int pop(SqStack& s) { s.top--; return s.top->in; } //获取栈顶元素 int Gettop(SqStack& s) { return (s.top - 1)->in; } //计算函数 void ope(SqStack& A, SqStack& B) { int a, b, s = 0; char c; a = pop(A); b = pop(A); c = pop(B); switch (c) { case '+':s = b + a; break; case '-':s = b - a; break; case '*':s = b * a; break; case '/':s = b / a; break; } push(A, s); } //比较计算符优先级 char pre(char a, char b) { if (b == '(') return '0';//为（直接入栈 else { if (a == '(') { if (b == ')') return '1';//左右括号相遇，左括号出栈 else return '2';//左括号右侧第一个运算符入栈 } else if (a == '*' || a == '/') { if (b == ')') return '3';//括号之间有尚未完成的运算符 else if (b == '*'|| b == '/') return '='; else return '>'; } else if (a == '+' || a == '-') { if (b == '+'||b == '-') return '='; else if (b == ')') return '3'; else return '<'; } } } int main() { SqStack num, sig;//构造两个栈，num:数字；；sig:运算符 InitStack(num); InitStack(sig); push(sig,'#'); //做栈底标记 char ch, c[10] = { '\0' };//ch存得到的字符，，c[50]将数字字符成串 int x=0,j=0; //x存储存c[50]转化的整形数字,j标记存c[50] int t = 0; ch = getchar();//读入第一个字符 for (; ch != '='; ch = getchar()) //用for循环进行输入，输入等号时结束，一次循环只处理一个字符 { if ('0' <= ch && ch <= '9') { c[j] = ch; //储存连续的数字字符 j++; t = 1; } else { if (t == 1) { //防止同时输入两个运算符使数与运算符匹配错位 c[j] = '\0'; x = atoi(c); j = 0; t = 0; push(num, x); } int f = 0; //循环标记 while (f == 0) { if (Gettop(sig) == '#') { //ch前无运算符，直接入栈 push(sig, ch); break; } else { switch (pre(Gettop(sig), ch)) { case'0':push(sig, ch); f = 1; break;//ch位左括号，直接入栈 case '1':pop(sig); f = 1; break;//左右括号相遇，出括号，终止循环 case '2':push(sig, ch); f = 1; break;;//左括号右侧第一个运算符入栈 case '3':ope(num, sig); break;//括号之间有尚未完成的运算符 case '>':ope(num, sig); break;//若gettop(sig)之前有与ch同级运算符则继续比较，不终止比较循环 case '<':push(sig, ch); f = 1; break; case '=':ope(num, sig); break; }//switch }//else }//while }//else }//for for (;;){ //完成=前剩余运算 ope(num, sig); if (Gettop(sig) == '#') { cout << pop(num); break; } } return 0; }

130 个相见恨晚的超实用网站，一次性分享出来

win10系统安装教程（U盘PE+UEFI安装）

《奇巧淫技》系列-python！！每天早上八点自动发送天气预报邮件到QQ邮箱

Linux(服务器编程):15---两种高效的事件处理模式（reactor模式、proactor模式）

HAL 硬件抽象层介绍

11月8日，由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办，科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。 　　区块链技术被认为是继蒸汽机、电力、互联网之后，下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力，电力解决了人类基本的生活需求，互联网彻底改变了信息传递的方式，区块链作为构造信任的技术有重要的价值。 　　1...
8年经验面试官详解 Java 面试秘诀

Linux(内核剖析):19---中断总体概述

Java工作4年来应聘要16K最后没要,细节如下。。。

CPU对每个程序员来说，是个既熟悉又陌生的东西？ 如果你只知道CPU是中央处理器的话，那可能对你并没有什么用，那么作为程序员的我们，必须要搞懂的就是CPU这家伙是如何运行的，尤其要搞懂它里面的寄存器是怎么一回事，因为这将让你从底层明白程序的运行机制。 随我一起，来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说，我们首先就要搞明白它是怎么回事，也就是它的内部构造，当然，CPU那么牛的一个东...

Python实战：抓肺炎疫情实时数据，画2019-nCoV疫情地图

NO.1 　有20瓶药丸，其中19瓶装有1克/粒的药丸，余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平，怎么找出比较重的那瓶药丸？天平只能用一次。 解法 有时候，严格的限制条件有可能反倒是解题的线索。在这个问题中，限制条件是天平只能用一次。 因为天平只能用一次，我们也得以知道一个有趣的事实：一次必须同时称很多药丸，其实更准确地说，是必须从19瓶拿出药丸进行称重。否则，如果跳过两瓶或更多瓶药...