每日学习 1051--1060

1051 字母个数统计

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 15079 | 通过数 : 7449

题目描述

从键盘输入一行字符,统计其中英文字母的个数。

输入要求

输入一行字符,以换行符号结束。字符串长度小于等于1000。

输出要求

输出其中英文字母的个数。

输入样例

Hello Mr.007,my name is @#$%

输出样例

 15

提示

 

来源

NBU OJ

代码:

#include<stdio.h>           //C语言
int main(){
	char c;
	int len=0;
	while(c!='\n'){
		c=getchar();
		if(c>='a'&&c<='z'||c>='A'&&c<='Z') len++;
	}
	printf("%d\n",len);
	return 0;
} 


1052 数字字符统计

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 15658 | 通过数 : 8563

题目描述

输入一行字符,统计出其中的数字字符的个数。输入以换行符结束。

输入要求

输入一行字符。以换行符结束。

输出要求

输出数字字符的个数

输入样例

Hello Mr.007,my name is @#$%

输出样例

 3

提示

 

来源

NBU OJ

代码:

#include<stdio.h>            //C语言
int main(){
	char c;
	int len=0;
	while(c!='\n'){
		c=getchar();
		if(c>='0'&&c<='9') len++;
	}
	printf("%d\n",len);
	return 0;
} 


1053 字符分类统计

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 23147 | 通过数 : 9608

题目描述

从键盘输入一行字符(长度小于等于1000),统计出其中的英文字母、数字、空格、和其它字符的个数。

输入要求

输入一行字符(长度小于等于1000)。

输出要求

按字母、数字、空格、其它字符的顺序输出各类字符的统计结果。为0的项目也要输出。用空格隔开(最后一个数字的后面无空格)。

输入样例

Hello Boy. It is 30 July.

输出样例

16 2 5 2

提示

 

来源

NBU OJ

代码:

#include<stdio.h>                  //C语言
int main(){
	char c;
	int zm=0,num=0,kg=0,o=0;
	c=getchar();
	while(c!='\n'){
		if(c>='a'&&c<='z'||c>='A'&&c<='Z') zm++;
		else if(c>='0'&&c<='9') num++;
		else if(c==' ') kg++;
		else o++; 
		c=getchar();
	}
	printf("%d %d %d %d\n",zm,num,kg,o);
	return 0;
} 


1054 相邻字符判相等

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 24218 | 通过数 : 7543

题目描述

输入一行字符(长度小于等于1000),判断其中是否存在相邻两个字符相同的情形,若有,则输出该相同的字符并结束程序(只需输出第一种相等的字符即可)。否则输出No。

输入要求

输入一行字符(长度小于等于1000)

输出要求

若有相邻字符相等则输出该相同的字符,否则输出No。(只需要输出第一种相同的情况即可)

输入样例

hello anna

输出样例

l

提示

 

来源

NBU OJ



代码:

#include<stdio.h>                //C语言
#include<string.h>
int main(){
	char c[1000];
	int len=0,i;
	gets(c);
	len=strlen(c);
	for(i=0;i<len;i++){
		if(c[i]==c[i+1]){
			printf("%c\n",c[i]);
			break;
		} 
	}
	if(i==len) printf("No\n");
	return 0;
}


1055 统计行数

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 13537 | 通过数 : 4098

题目描述

编写一个程序,要求统计输入文本的行数。

输入要求

每行输入任意长度的字符串(每一行的字符串的长度小于等于1000),以输入仅由符号@构成的行作为结束, @所在的行不计入行数。

输出要求

输出文本的行数。

输入样例

Hello world!
I come from China!
I’m a boy!
@

输出样例

3

提示

 

来源

NBU OJ

代码:

#include<stdio.h>            //C语言
#include<string.h>
int main(){
	char c[1000];
	int len=0,i=0;
	gets(c);
	len=strlen(c);
	while(len!=1||c[0]!='@'){
		i++;
		gets(c);
	    len=strlen(c);
	}
	printf("%d\n",i);
	return 0;
}


1056 特定字符出现次数

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 17811 | 通过数 : 9241

题目描述

从键盘输入一个字符串,再输入一个特定字符key,判断key在字符串中的出现次数。

输入要求

从键盘输入一个字符串(长度小于等于1000),再输入一个待查找的特定字符key。

输出要求

统计并输出特定字符key在字符串中的出现次数。

输入样例

THIS IS A TEST
I

输出样例

2

提示

 

来源

NBU OJ

代码:

#include<stdio.h>               //C语言
#include<string.h>
int main(){
	char c[1000],key;
	int len=0,i,count=0;
	gets(c);
	len=strlen(c);
	scanf("%c",&key);
	for(i=0;i<len;i++){
		if(c[i]==key) count++;
	}
	printf("%d\n",count);
	return 0;
}


1057 字符变换

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 18855 | 通过数 : 8193

题目描述

CoCo在帮忙录入一篇英文文献,可是由于键盘误操作,事先按下了Caps Lock键,然后又按照平时的录入习惯进行操作,结果录入的内容里面,原本应该是英文大写的地方都变成了小写,而原来应该是英文小写的地方都变成了大写。重新录入的话实在太可怕了!你能帮忙设计一个程序,可以将字符串中的大写英文字母转换成对应的小写英文字母,而将小写英文字母转换成对应的大写英文字母,其余字符不变吗?如果对整篇文献操作还有点难度的话,先尝试对一个字符串的操作吧。

输入要求

输入任意一个字符串(长度小于等于1000),以换行结束。

输出要求

将大写字母改小写,小写字母改大写,其余字符保持不便,输出转换后的字符串的结果。

输入样例

i AM A STUDENT.i AM 19.

输出样例

I am a student.I am 19.

提示

 

来源

NBU OJ

代码:

#include<stdio.h>               //C语言  法1
#include<string.h>
int main(){
	char c[1000];
	int len=0,i;
	gets(c);
	len=strlen(c);
	for(i=0;i<len;i++){
		if(c[i]>='a'&&c[i]<='z') c[i]-=32;
		else if(c[i]>='A'&&c[i]<='Z') c[i]+=32;
		printf("%c",c[i]);
	}
	printf("\n");
	return 0;
}
#include<stdio.h>            //C语言   法2
int main(){
	char c;
	int len=0;
	c=getchar();
	while(c!='\n'){
		if(c>='a'&&c<='z') printf("%c",c-32);
		else if(c>='A'&&c<='Z') printf("%c",c+32);
		else printf("%c",c);
		c=getchar();
	}
	printf("\n");
	return 0;
}


1058 成绩合格问题

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 16345 | 通过数 : 9926

题目描述

输入一个整数表示课程成绩,判断学生成绩是否合格:当分数大于等于60分时,输出合格信息,小于60分的,输出不合格信息。

输入要求

输入任意一个整数表示成绩(假设确保数据在0到100之间)。

输出要求

如果该数大于等于60,则输出“pass”,否则输出“failure”。(输出不含双引号)。

输入样例

61

输出样例

pass

提示

 

来源

NBU OJ

代码:

#include<stdio.h>         //C语言
int main(){
	int x;
	scanf("%d",&x);
	if(x>=60) printf("pass\n");
	else printf("failure\n");
	return 0;
}


1059 三级制成绩评级

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)

提交数 : 10498 | 通过数 : 6497

题目描述

 

对学生成绩(百分制)评等级,规则如下:

[80,100]  为A

[60,79]   为B

[0,59]    为C

输入要求

输入一个整数形式的百分制的成绩(0<=x<=100)。

输出要求

如果该成绩大于等于80则输出A,在60~79之间则输出B,小于60分则输出C。

输入样例

 60

输出样例

 B

提示

 

来源

NBU OJ

代码:

#include<stdio.h>       //C语言
int main(){
	int x;
	scanf("%d",&x);
	if(x>=80) printf("A\n");
	else if(x>=60) printf("B\n");
	else printf("C\n");
	return 0;
}


1060 五级制成绩评级

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 16816 | 通过数 : 10366

题目描述

 

在学生成绩管理中,成绩经常需要在百分制与等级制之间进行转换。输入一个表示成绩的百分制分数,将其转换为对应的等级制并输出。

A:[90-100]

B:[80-89]

C:[70-79]

D:[60-69]

E:[0-59]

输入要求

输入一个整数表示百分制的成绩,保证输入的整数在0到100之内。

输出要求

输出百分制转换后对应的五级制中的某一级。

输入样例

95

输出样例

A

提示

 

来源

NBU OJ

代码:

#include<stdio.h>       //C语言
int main(){
	int x;
	scanf("%d",&x);
	if(x>=90) printf("A\n");
	else if(x>=80) printf("B\n");
	else if(x>=70) printf("C\n");
	else if(x>=60) printf("D\n");
	else printf("E\n");
	return 0;
}

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值