郑州轻工业大学zzulioj1131~1139

郑州轻工业大学zzulioj1131~1139

本人小趴菜一颗,写博客是为了监督自己同时分享资源供大家参考,欢迎大家提出问题。


1131最常用字符

题目描述
英文字母里出现频率最高的是哪个字母呢? 给定一个字符串,输出字符串中出现次数最多的字母。
输入
输入一个只含有大小写字母和空格的字符串,长度不超过100,以回车结束。
输出
输出一个小写字母,表示该字符串中出现次数最多的字母。若答案有多个,则只输出ASCII码最小的那个。
样例输入 Copy
An apple
样例输出 Copy
a
代码如下(示例):

#include<stdio.h>
int main()
{
	int a[300]={0};
	char ch;
	int i,max;
	while(scanf("%c",&ch),ch!='\n')
	{
		if(ch>='A'&&ch<='Z')
			a[ch+32]++;
		else if(ch>='a'&&ch<='z')
			a[ch]++;
	}//进行每个字母次数统计
	max=a[0];
	for(i=1;i<300;i++)
	{
		if(a[i]>=max)
			max=a[i];
	}//找出出现最多的次数
	for(i=0;i<300;i++)
	{
		if(a[i]==max)
		{
			printf("%c\n",i);
			return 0;
		}
	}//输出出现次数最多的字母
	
}

1132数字字符统计

题目描述
对于给定的一个字符串,统计其中数字字符出现的次数。字符串长度不超过1000.
输入
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
输出
对于每个测试实例,输出该串中数字字符的个数,每个输出占一行。
样例输入 Copy
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
样例输出 Copy
6
9
代码如下(示例):

#include<stdio.h>
int main()
{
   char a[1000];
   int n,i,num,j;
   scanf("%d\n",&n);
   for(i=0;i<n;i++)
   {
       gets(a);
       num=0;
       for(j=0;a[j]!='\0';j++)
       {
           if(a[j]<='9'&&a[j]>='0')
           {
               num++;
           }
       }
       printf("%d\n",num);
   }
    return 0;
}

1133: 单词个数统计

题目描述
从键盘输入一行字符,长度小于1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。
输入
输入只有一行句子。仅有空格和英文字母构成
输出
单词的个数
样例输入 Copy
stable marriage problem Consists of Matching members
样例输出 Copy
7
代码如下(示例):

#include<stdio.h>
#include<string.h>
int main()
{
int i,n,m;
char str[1000];
gets(str);
m=0;
for(i=0;str[i]!='\0';i++)
if(str[i]!=' '&&str[i+1]==' ')
  m++;
 n=strlen(str);
 if(str[n-1]!=' ')
m++;
printf("%d\n",m);
return 0;
}

1134: 字符串转换

题目描述
输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以2输出。
输入
输入一个以回车结束的字符串,长度不超过100,由数字和字母组成。
输出
将转换后的整数乘以2输出,测试数据保证结果在int范围内。
样例输入 Copy
sg987aa65t498
样例输出 Copy
197530996
代码如下(示例):

#include <stdio.h>
#include <ctype.h>
#include <string.h> 
int main() {
	char str[100];
	int i, t, k, n = 0;
	gets(str);
	for(i = 0; str[i] != '\0'; i++){
		if(isdigit(str[i])){
			k = str[i] - 48;
			n = n * 10 + k;
		}
	} 
	t = n * 2;
	printf("%d\n", t);
	return 0;
}

1135: 算菜价题目描述

妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。
输入
输入含有一些数据组,每组数据包括菜种(不含空格的字串),数量w(计量单位不论,一律为double型数)和单价p(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。
输出
支付菜价的时候,由于最小支付单位是角,所以总是在支付的时候采用四舍五入的方法把分头去掉。最后,请输出一个精度为角的菜价总量。
样例输入 Copy
青菜 1 2
萝卜 2 1.5
鸡腿 2 4.2
样例输出 Copy
13.4
代码如下(示例):

#include<stdio.h>
int main()
{
   double  w,p,s=0;
   while(scanf("%*s %lf %lf",&w,&p)!=EOF)
   {
       s+=w*p;
   }
   printf("%.1lf\n",s);
    return 0;
}

1136: 首字母变大写

题目描述
输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。
输入
输入一个长度不超过100的英文句子。
输出
请输出按照要求改写后的英文句子。
样例输入 Copy
i like ACM
样例输出 Copy
I Like ACM
代码如下(示例):

#include<stdio.h>
#include<string.h>
int main()
{
    char ch[100];
    int i,j,k,l;
    gets(ch);
    for(i=0;ch[i]!='\0';i++)
    {
        if(ch[i]==' '&&ch[i+1]!=' ')
        {
            if(ch[i+1]>='a'&&ch[i]<='z')
                ch[i+1]=ch[i+1]-32;
        }
    }
    if(ch[0]>='a'&&ch[0]<='z')
        ch[0]=ch[0]-32;
    puts(ch);
    return 0;
}

1137: 查找最大元素

题目描述
对于输入的字符串,查找其中的ASCII码值最大字母,在该字母后面插入字符串“(max)”。
输入
输入一行长度不超过200的字符串组成,字符串仅由大小写字母构成。
输出
输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。
样例输入 Copy
abcdefgfedcbag
样例输出 Copy
abcdefg(max)fedcbag(max)
代码如下(示例):

#include<stdio.h>
#include<string.h>
int main()
{
	int i;
	char str[200],max;
	gets(str);    //输入字符串 
	max=str[0];   //定义初始最大值 
	//循环找字符串中ASCII码最大的字符 
	for(i=1;str[i]!='\0';i++)
	{
		if(str[i]>max)
			max=str[i];
	}
	//利用循环,遇到最大值后面就加一个(max)输出,否则原样输出 
	for(i=0;str[i]!='\0';i++)
	{
		if(str[i]==max)
			printf("%c(max)",str[i]);
		else
			printf("%c",str[i]);
	}
	return 0;
}

1138: C语言合法标识符

题目描述
输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
输入
输入一个长度不超过50的字符串。
输出
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入
8fixafghgjhjhjyuyuyyuyuyu
样例输出
no
代码如下(示例):

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{ char ch[50];//定义字符串
int x=1,n,i;
gets(ch);//读入字符串
n=strlen(ch);//计算出字符串长度并赋值给n
if((ch[0]>='a'&&ch[0]<='z')||(ch[0]>='A'&&ch[0]<='Z')||(ch[0]=='_'))//第一个字符为字母或者下划线
{
    for(i=1;ch[i]!='\0';i++)
    {
        if((ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z')||(ch[i]=='_')||(ch[i]>='0'&&ch[i]<='9'))//其他字符为规定的标识符字母、数字和下划线
        {
            x++;
        }
    }//对比x与n来进行判断
    if(x==n)
    {
        printf("yes");
    }
    else
        printf("no");
}
else
    printf("no");

    return 0;
}

1139: 输出最短字符串

题目描述
输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。
输入
第一行是一个整数n,后面跟着n行,每行包括一个由字母和数字和空格组成的字符串,长度不超过1000。
输出
长度最短的字符串,若长度相同则输出出现较早的那一个。·
样例输入 Copy
5
How are you!
Happy
Good!
Hello world!
Thinks
样例输出 Copy
Happy
代码如下(示例):

#include <stdio.h>
#include <string.h>
int main() {
	char str[1000], ch[1000];
	int i, n;
	// 输入n
	scanf("%d", &n);
	// 吸收输入n后的换行符 
	getchar();
	// 输入字符串
	gets(str);
	// 将字符串str复制到ch 
	strcpy(ch, str);
	for(i = 1; i < n; i++){
		// 输入字符串
		gets(str); 
		// 比较字符串长度 
		if(strlen(ch) > strlen(str))
			strcpy(ch, str);
	} 
	printf("%s\n", ch);
	return 0;
}

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘花猫不爱睡懒觉

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值