吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2943|回复: 12
收起左侧

[C&C++ 转载] 菜鸟学C之第二题

  [复制链接]
追梦少年_66 发表于 2017-11-13 15:51
每天两题,先易后难,
期待菜鸟,共同进步,
期待高手,指点指点

/************************************************************************/
/* 2.        有一长度不大于40的字符串,已知其中包含两个字符“A”,
求处于这两个字符“A”中间的字符个数,并把这些字符依次打印出来                                                                     */
/************************************************************************/
#include<stdio.h>
#include<stdlib.h>

void main() {

        char str[35] = "adsAkkldsaocoxsad213Aff";

        char *p = str;
        while (*p != 'A') {  //理解了指针so easy
                p++;
        }
        p++;
        int num = 0;
        while (*p != 'A') {
                putchar(*p);
                num++;
                p++;
        }
        printf("\nnum=%d", num);
        getchar();
}


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Holoo 发表于 2017-11-22 22:52
找出两个大写的A然后利用下标算出字符个数和输出中间的字符。
11111011100 发表于 2017-11-13 16:25
kkldsaocoxsad213
16
**************************
①第一个循环,指针指向A时跳出循环,p++就到了k.
②当指针指向字符为A时跳出循环,也就是到第二个A时,putchar输出了kkldsaocoxsad213,num数就是这个串的字符数.
mis2015 发表于 2017-11-13 16:02
 楼主| 追梦少年_66 发表于 2017-11-13 16:24
mis2015 发表于 2017-11-13 16:02
菜鸟不会,菜鸟太笨。


只要有梦想,再迟都不怕。
只要够流氓,再难都不怕。
vr4u 发表于 2017-11-13 18:39
题干看不懂
A123.。。36,37,38A

是这样吗?
 楼主| 追梦少年_66 发表于 2017-11-13 21:36
vr4u 发表于 2017-11-13 18:39
题干看不懂
A123.。。36,37,38A

对,就是有一个字符串,你不知道他具体是什么。如果你都知道了是什么,就不用编程实现了
poiugh岁月 发表于 2017-11-13 21:51
楼主不妨试试这个: 自定义输入一个字符串  判断字符串中是否有两个及以上重复字符  若有  请列出所有相邻重复字符之间字符个数
 楼主| 追梦少年_66 发表于 2017-11-13 23:21
poiugh岁月 发表于 2017-11-13 21:51
楼主不妨试试这个: 自定义输入一个字符串  判断字符串中是否有两个及以上重复字符  若有  请列出所有相邻重 ...

兄弟猛,明天试试
 楼主| 追梦少年_66 发表于 2017-11-14 10:55
poiugh岁月 发表于 2017-11-13 21:51
楼主不妨试试这个: 自定义输入一个字符串  判断字符串中是否有两个及以上重复字符  若有  请列出所有相邻重 ...

/************************************************************************/
/* 自定义输入一个字符串  判断字符串中是否有两个及以上重复字符  若有  请列出所有相邻重复字符之间字符个数                                                                 */
/************************************************************************/
//输入:a123a1324abg1gb
//输出:
//元素a重复, 第1次相邻重复字符之间字符个数为3
//元素1重复, 第1次相邻重复字符之间字符个数为3
//元素2重复, 第1次相邻重复字符之间字符个数为4
//元素3重复, 第1次相邻重复字符之间字符个数为2
//元素a重复, 第2次相邻重复字符之间字符个数为4
//元素1重复, 第2次相邻重复字符之间字符个数为6
//元素b重复, 第1次相邻重复字符之间字符个数为3
//元素g重复, 第1次相邻重复字符之间字符个数为1

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main() {

        char str[30] = { 0 };
        scanf("%s", str); //输入字符串,赋值给str

        char str2[30] = { 0 };//缓冲区
        int length = strlen(str);//字符串长度
        for (int i = 0; i <length-1;i++) {
                int cnt = 0,num = -1;
                for (int j = i+1; j < length; j++) {//将每一个字符与其后面的字符比较,如果相等,判断其在缓冲区的个数将字符存入缓冲区
                        if(str==str[j]){
                                while (str2[++num]) {
                                        if (str2[num] == str[j]) {
                                        cnt++;
                                        }
                                }
                                str2[num] = str;
                                printf("元素%c重复,第%d次相邻重复字符之间字符个数为%d\n", str,cnt+1,j-i-1);//j-i-1为两个相同字符之间的个数
                                break;
                        }
                }

        }
        printf("%s", str2);
        system("pause");
}

 楼主| 追梦少年_66 发表于 2017-11-15 21:39
asip2001 发表于 2017-11-15 21:08
学来学去还是在做题,不是在编程

haha,求指教
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-16 08:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表