c语言期末题目求助!!!!!!;

对于一个字符串,如果这个字符串在ASCII码的意义上是有序的,即升序或降序,则称该字符串为“优雅的字符串”。一个长为n的字符串s,对于1<= i <= n - 1,如果总有s[i] <= s[i+1],则字符串为升序;如果总有s[i] >= s[i+1],则字符串降序。现给定一个字符串,请你判断该字符串是否“优雅”,如果该字符串是“优雅”的,则判断是“正优雅”(升序)还是“负优雅”(降序)。

 

输入描述

一个非空,不包含空格的字符串s,保证字符串中的字符都是ASCII标准中的字符。数据保证不会出现所有字符相同的字符串。(2<= length(s) <=1e5)

输出描述

如果字符串“正优雅”,则输出“Positive elegance”,如果“负优雅”,则输出“Negative elegance”,否则输出“Non elegance”(均不含引号)。

提示无

样例输入 (*+12356ASdfz

样例输出

Positive elegance

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#include <string.h>

int main()
{
	char a[100] = {0};
	int i;
	int zyy = 1;
	int fyy = 1;
	printf("请输入字符串:");
	gets(a);
	//判断是否正优雅
	for (i=1;i<strlen(a);i++)
	{
		if(a[i] < a[i-1])
		{
			zyy = 0;
			break;
		}
	}
	//判断是否负优雅
	for (i=1;i<strlen(a);i++)
	{
		if(a[i] > a[i-1])
		{
			fyy = 0;
			break;
		}
	}

	if (zyy && !fyy)
	{
		printf("Positive elegance\n");
	}else if (!zyy && fyy)
	{
		printf("Negative elegance\n");
	}else
		printf("Non elegance\n");
	return 0;

}

 

地方

#include <stdio.h>

int main()
{
    char *s = "(*+12356ASdfz";//输入的字符串
    int len = strlen(s);
    int ascii[len];
    int asciiTemp[len];

    int m;
    for (m = 0; m < len; m++)//每一位字符对应ascii码存入数组
    {
        ascii[m] = s[m];
        asciiTemp[m] = s[m];
    }

    int i, j, temp;
    for (i = 0; i < len; ++i)//对数组ascii递增排序
    {
        for (j = i + 1; j < len; ++j)
        {
            if (ascii[j] < ascii[i])
            {
                temp = ascii[i];
                ascii[i] = ascii[j];
                ascii[j] = temp;
            }
        }
    }

    int isPosi = 1;
    int isNega = 1;
    for (i = 0; i < len; i++)//判断是否为Positive
    {
        if (asciiTemp[i] != ascii[i])
        {
            isPosi = 0;
            break;
        }
    }
    for (i = 0; i < len; i++)
    {
        if (asciiTemp[len-1-i] != ascii[i])//判断是否为Negative
        {
            isNega = 0;
            break;
        }
    }

    if (isPosi)
    {
        printf("Positive elegance\n");
    }
    else if (isNega)
    {
        printf("Negative elegance\n");
    }
    else
    {
        printf("Non elegance\n");
    }


    return 0;
}