程序书海码农的世界程序员

蓝杯二十七

2018-01-23  本文已影响19人  逍遥_9353

/*算法训练 删除数组零元素 

时间限制:1.0s  内存限制:512.0MB

提交此题   

从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,

其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,

函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。

样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)

5

3 4 0 0 2

样例输出:(输出格式说明:3为非零数据的个数,3 4 2 是以空格隔开的3个非零整数)

3

3 4 2

样例输入:

7

0 0 7 0 0 9 0

样例输出:

2

7 9

样例输入:

3

0 0 0

样例输出:

0

*/

#include <cstdio> 

#include <algorithm> 

using namespace std; 

int n,m,t=0; 

int a[100000]; 

int main() 

    scanf ("%d",&n); 

    for (int i=0;i<n;i++) { 

        scanf ("%d",&m); 

        if (m!=0) 

            a[t++]=m; 

    } 

    printf ("%d\n",t); 

    if (t!=0) { 

        for (int i=0;i<t;i++) 

            printf ("%d ",a[i]); 

        puts(""); 

    } 

    return 0; 

二、 /*  算法训练 Anagrams问题 

时间限制:1.0s  内存限制:512.0MB

提交此题   

问题描述

  Anagrams指的是具有如下特性的两个单词:在这两个单词当中,

每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,

“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。

编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。

每一个单词的长度不会超过80个字符,而且是大小写无关的。

  输入格式:输入有两行,分别为两个单词。

  输出格式:输出只有一个字母Y或N,分别表示Yes和No。

  输入输出样例

样例输入

Unclear

Nuclear

样例输出

Y

*/

#include<iostream>

#include<cstdio>

#include<cstring>

using namespace std;

int main()

{

    char str1[100],str2[100];

    int len1,len2,i,sum1,sum2;

    scanf("%s%s",str1,str2);

    len1=strlen(str1);

    len2=strlen(str2);

    for(i=0;i<len1;i++)

      {

          if(str1[i]>='a'&&str1[i]<='z')

              str1[i]=str1[i]-('a'-'A');

      }

      for(i=0;i<len2;i++)

      {

          if(str2[i]>='a'&&str2[i]<='z')

              str2[i]=str2[i]-('a'-'A');

      }

sum1=sum2=0;

      for(i=0;i<len1;i++)

        sum1+=str1[i];

      for(i=0;i<len2;i++)

        sum2+=str2[i];

        if(sum1==sum2)

          printf("Y\n");

        else

          printf("N\n");

    return 0;

}

蓝杯二十七

蓝杯二十七 蓝杯二十七 蓝杯二十七
上一篇下一篇

猜你喜欢

热点阅读