嗜血灵异狂 发表于 2012-6-15 12:53:53

两道编程题 请高手赐教

main()
 { char a,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&d);
printf("c,%c,%c,%c\n",a,b,c,d);
 }

仰望天上的光 发表于 2012-6-15 13:16:55

1.#include <stdio.h>

int GetNum( const char* msg );
int Validtae( int a, int b );
void Output( int num );
int main(void){
        int a,b;
        a = GetNum("Input a:");
        b = GetNum("Input b:");
        if( Validtae( a,b ) ) {
                Output( a*a+b*b );
        }
        return 0;
}

int GetNum( const char* msg ) {
        int result;
        printf(msg);
        scanf("%d",&result);
        return result;
}

int Validtae( int a, int b ) {
        return a*a+b*b>100;
}

void Output( int num ) {
        printf("%d\n",num/100%10);
}

仰望天上的光 发表于 2012-6-15 13:25:22

本帖最后由 仰望天上的光 于 2012-6-15 13:27 编辑

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

const char* GetStr();
int IsPalidrome( const char* pstr );
int main(void){
const char* pstr = GetStr();
printf("%s\n", IsPalidrome( pstr )?"Is Palidrome":"No Palidrome");
return 0;
}
const char* GetStr() {
static char result;
printf("Input a string:");
scanf("%s", result);
return result;
}
int IsPalidrome( const char* pstr ) {
const char* begin, *end;
for( begin = pstr, end = pstr+strlen(pstr)-1 ;
            begin<end; ++begin, --end ){
if( tolower(*begin) != tolower(*end) )
   return 0;
}
return 1;
}

小小小菜菜菜 发表于 2018-12-20 15:23:16

这个是不是就是回文的变体啊
str1 = input("")
if str1.lower() == str1[::-1].lower():
return True

1809228982 发表于 2018-12-21 12:06:39

来看答案的...

X用户 发表于 2018-12-21 16:35:19

顶一下

扩展阅读 发表于 2018-12-24 13:42:18

看看{:10_261:}

扩展阅读 发表于 2018-12-24 13:42:57

不会写...

扩展阅读 发表于 2018-12-24 13:50:59

{:10_256:}{:10_256:}我写出第一题了

扩展阅读 发表于 2018-12-24 13:58:38

不会第二题,,回来看答案{:10_269:}

心驰神往 发表于 2020-11-4 09:59:18

学过数字正着倒着的

1163028233 发表于 2020-11-4 10:49:34

学习
页: [1]
查看完整版本: 两道编程题 请高手赐教