在字符数组中查找字符。
时间: 1ms 内存:128M
描述:
把一个字符串(长度不超过10),放到字符数组中。输入一个字母,如果能在数组中找到输出“yes",否则输出”no".
输入:
输出:
示例输入:
abcdef
c
示例输出:
yes
提示:
参考答案(内存最优[920]):
#include<stdio.h>
int main()
{
int i;
char c,a[10];
for(i=0;i<=9;i++)
scanf("%c",&a[i]);
scanf("%c",&c);
for(i=0;i<=9;i++)
if(c==a[i])
{
printf("yes");
break;
}
else
if(i==9)
printf("no");
return 0;
}
参考答案(时间最优[0]):
#include<iostream>
using namespace std;
void shell_sort(int a[],int n);
int main()
{
int n,a[10000];
cin>>n;
for(int y=0;y<n;y++)
cin>>a[y];
shell_sort(a, n);
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl;
}
void shell_sort(int a[], int n)
{
int gap;//定义增量;
for(gap = 3; gap >0; gap--)//设置初始增量,递减;
{
for(int i=0; i<gap; i++)//按增量分组;
{
for(int j = i+gap; j<n; j=j+gap)//每组分别比较大小;
{
if(a[j]<a[j-gap])
{
int temp = a[j];
int k = j-gap;
while(k>=0&&a[k]>temp)
{
a[k+gap] = a[k];
k = k-gap;
}
a[k+gap] = temp;
}
}
}
}
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。