rjkf新生练习赛(二)题解----C语言描述

本文提供了rjkf新生练习赛的题目解析,包括字符串处理、逻辑判断等题目。详细解释了字符串右移、特定条件数据筛选、数字比较等题目的解题思路和方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

比赛地址:

http://172.21.40.250/web/contest/show/cid/133
(仅支持校园网访问) 密码rjkfxlx

1.日常水题

本题就在于hello复制粘贴就可以,最后一个o是特殊符号,不是英文字母o

#include<stdio.h>
int main()
{
    printf("hellο");
    return 0;
}

2.精挑细选

(代码又双叒叕是抄来的)
这道题对每次输入的数据进行比较,先用 a,b,c代表输入的第一组数据,然后每一组数据与前一组比较,只保留符合要求的数据,最后输出


#include<stdio.h>
int main()
{
    int n,m,i,a,b,c,x,y,z;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d",&m);
        a=0;b=0;c=0;
        for(i=0;i<m;i++)
        {
            scanf("%d%d%d",&x,&y,&z);
            if(x>a||x==a&&y<b||x==a&&y==b&&z>c) { a=x;b=y;c=z; }
        }
        printf("%d\n",c);
    }
    return 0;
}  

3.字符串右移

(这段话是我抄的)
1234abcde 是不是很像先输出1234 再输出abcde

由数组角标分析 是从a[5]开始输出到结尾 再从a[0]输出到a[4]

当步数大于字符串长度时 步数n=n%l(字符串长度);

为了方便起见 直接把n=n%10进行了操作

#include<stdio.h>
#include<string.h>
int main()
{
    char s[100];
    int n,j;
    while(~scanf("%s%d",s,&n))
    {
        int l=strlen(s);
            n=n%l;
            printf("%s",s+l-n);
            for(j=0;j<l-n;j++)
                printf("%c",s[j]);
                printf("\n");
    }
    return 0;
}

4.恨7不成妻

对于各种情况进行遍历即可

#include <stdio.h>

int main()
{
    int a,b,i,sum=0,p=0;
    while(scanf("%d %d",&a,&b)!=EOF)
    {
        sum=0;
        for(i=a;i<=b;i++)
            {
            if(i%10==7||i/10%10==7||i/100%10==7)
                continue;
            p=i%10+i/10%10+i/100%10+i/1000;
            if(p%7!=0&&i%7!=0)
                {sum+=i*i;}
            }printf("%d\n",sum);
    }
    return 0;
}

5.小媛在努力

输入的时候,输入每一个数字和上一个数字进行比较,如果相等就记录下来,不相等就输出,最后记得把最后一组输出

#include<stdio.h>
int main()
{
	int t,i;
	scanf("%d",&t);
	while(t--)
	{
		int n;
		scanf("%d",&n);
		int cnt=0,tp;
		for(i=0;i<n;++i)
		{
			int a;
			scanf("%d",&a);
			if(!i||a==tp)
			{
				++cnt;tp=a;
			}
			else
			{
				printf("%d %d ",cnt,tp);
				cnt=1;tp=a;
			}
		}
		printf("%d %d\n",cnt,tp);
	}
	return 0;
}

6.王老师生日

本题为逻辑问题,不懂可自行百度,晚上会讲

7 .努力的蜗牛

这道题有很多方法,我的一个思路就是对于10m之内就是1天到顶
大于十米,每5米是一天,把高度减10除以5在加上第一天就是天数,但是到顶的话就不用再加二了,加上一天即可.

#include<stdio.h>
int main()
{
    int H,i,x;
    scanf("%d",&i);
    while(i--){
    scanf("%d",&H);
    if(H<=10)
        printf("1\n\n");
    if(H>10)
    {
        x=(H-10)/5;
        if(H%5==0)
            x=x+1;
        else
            x=x+2;
        printf("%d\n\n",x);
    }}
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值