杭电OJ | 2054 A==B if 判断语句 strchr函数 2055 An easy problem

笔记

1. strchr函数 <string.h>头文件

char *strchr(const char *str, int c)   //str字符串中c字符的第一次出现的位置,如果未找到返回NULL

2. if(条件语句) 

条件语句运算结果不是0则执行if语句块

 

2054

Problem Description     Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".

Input        each test case contains two numbers A and B.

Output     for each case, if A is equal to B, you should print "YES", or print "NO".

Sample Input

1 2

Sample Output

NO

#include<stdio.h>
#include<string.h>
void delzero(char a[]);
int main()
{
    char a[100000],b[100000];   //数组要大一些,不然会Runtime Error(ACCESS_VIOLATION)
    while(scanf("%s %s",&a,&b)!=EOF){
    	delzero(a);
    	delzero(b);
		if(strcmp(a,b)==0){
			printf("YES\n");
		}
		else{
			printf("NO\n");
		}	
	}
    return 0;
}
//函数功能:如果有小数点并且末尾有0,消除0
void delzero(char a[]){  
	if(strchr(a,'.')){         //判断是否有小数点
		int i = strlen(a)-1;
		while(a[i]=='0'){
			a[i] = '\0';
			i--;
		}
	}
	if(a[strlen(a)-1]=='.'){
		a[strlen(a)-1]='\0';  //将最后一位小数点消除
	}

}

2055

Problem Description       we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26; output the result of y+f(x).

Input       On the first line, contains a number T.then T lines follow, each line is a case.each case contains a letter and a number.

Output    for each case, you should the result of y+f(x) on a line.

Sample Input

2

R 1

g 3

Sample Output

19

-4

#include<stdio.h>
void delzero(char a[]);
int main()
{
    int inputnum;
	scanf("%d",&inputnum);
	getchar();
	for(; inputnum!=0; inputnum--){
		char c;
		int a;
		scanf("%c %d",&c,&a);
		getchar();
		int sum = a;
		if(c>=65&&c<=90){
			sum = sum+(c-'A'+1);
		}
		else{
			sum = sum-(c-'a'+1);
		}
		printf("%d\n",sum);
	}
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值