标签:指定 大小 字符串长度 ror 输入 int 结构体 学习 提交
1.1 写出你认为本周学习中比较重要的知识点关键词,如逻辑结构、栈、队列、存储结构等。
1.2 使用思维导图将这些关键词组织起来。
int Palindrome(char str[],int n)//判断字符串是否对称的函数
{
定义字符指针p并指向字符串str;
定义栈的结构体s;
for(如果p小于str+n/2执行循环)
将p指向的字符串入栈;
每次循环p++
if(n%2) p++;
while(p不为空时)
{
定义x用来储存每次出栈的元素;
将s中的元素出栈;
if(x不等于p指向的元素及字符串不对称时)
return 0;
p++;
}
判断完毕字符串对称
return 1;
}
int main()
{
定义整形变量len来储存字符串长度;
定义字符串数组来储存输入的字符串;
输入字符串并储存于str;
len=strlen(str);
if(如果函数Palindrome判断为1){
printf("yes");
}
else
{
printf("no");
}
return 0;
}
int main()
{
定义queue类的参考值 q;
定义整形变量n来储存要排队的人数;
输入n;
定义整形数组a[10002];
定义整形变量sum=-1 i作为循环数;
for(当i小于n时执行循环)
{
输入一个整数并存于a[i]中;
if(当a[i]为奇数时)
令sum=i;
}
定义整型变量k=0 u=0用来判断;
令i=0;
for(当i小于n时执行循环)
{
if(a[i]为奇数时)
{
if(u==0)
{
输出a[i];
并令u=1;
}
否则
输出空格后输出a[i];
k++;
}
else if(a[i]为偶数时)
{
a[i]出队;
}
if((k为2且q.empty()==false)或者(i小于sum并且q.empty()==false))
{
if(sum==-1)
{
输出q.front();
并令sum=-2;
}
else
输出空格后输出q.front();
q.pop();
k=0;
}
}
return 0;
}
本题主要问题时提交时没选择好编译器导致编译错误以及空格输出没看清所以判定了格式错误
判断m,n的大小
if(m>n) 输出error!
for i=0 to i=n入队,并将其编号
if 队列不为空
头指针开始递增
尾指针循环
end
每次念一个数字 如果不是指定数字则将这个人出队再入队,如果是则出队,并输出此人编号,并从头读数。
当m<n时没有结束这个程序,所以还会继续执行,所以只要补上return 0。
标签:指定 大小 字符串长度 ror 输入 int 结构体 学习 提交
原文地址:https://www.cnblogs.com/llg202827372/p/8836327.html