在字符数组中查找字符。

在字符数组中查找字符。

时间: 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;
          }
       }
    }
 }
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注