吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2689|回复: 3
收起左侧

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

[复制链接]
追梦少年_66 发表于 2017-11-14 14:52
只要有梦想,再迟都不怕。
只要够流氓,再难都不怕/*******************************************//*把25个字母A、B 、C、··· 、X、Y按如下要求打印出来:从最中间的字母M开始打印,然后一左一右依次打印出其它字母,即M,L,N,K,O,...。要求:初始化时按字母表顺序赋值。/*******************************************/
[C] 纯文本查看 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void digui(char * str,int n) {
	if (n == 0) {

	}     
	else {
		putchar(*(str+25-n));
		putchar(*(str+n-1));
		digui(str, n - 1);
	}
}

void  main23() {//方法一

	char str[25] = { 0 };
	char start = 'A';
	for (char *p = str; p < str + 25; p++) {
		printf("%c",*p = start++);   //初始化
	}
	int num = 0;
	char *p = str + 12;   //M的地址
	putchar(*p);     //打印M
	while (++num<= 12) {    //打印两边
		putchar(*(p + num));
		putchar(*(p - num));
	}

	getchar();
}


void  main() {   //方法二,递归

	char str[25] = { 0 };
	char start = 'A';
	for (char *p = str; p < str + 25; p++) {
		printf("%c", *p = start++);
	}
	int num = 0;
	char *p = str + 12;
	putchar(*p);
	digui(str, 12);

	getchar();
}

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

 楼主| 追梦少年_66 发表于 2017-11-14 14:56
[Asm] 纯文本查看 复制代码
void InitArray(char *pArr, int iArrSize);
void ShowReqArr(char *pArr, int iArrSize);


int main()//方法三不失一般性的方法,
{
	char strArr[ARRAY_SIZE];
	
	InitArray(strArr, ARRAY_SIZE);
	ShowReqArr(strArr, ARRAY_SIZE);
	
	
	return 0;
}

void InitArray(char *pArr, int iArrSize)
{
	char cBegin = 'A';
	int i;
	
	for (i = 0; i<iArrSize; i++)
	{
		pArr[i] = cBegin + i;
	}	
}

void ShowReqArr(char *pArr, int iArrSize)//不失一般性的方法,
{
	int i;
	int iMiddle = iArrSize / 2;	
	int iBeginCursor = iMiddle - 1;
	int iEndCursor = iMiddle + 1;
	
	printf("%c ", pArr[iMiddle]);
	
	while (-1<iBeginCursor && iEndCursor<iArrSize)	 //判断是否到首位或末尾
	{
		printf("%c ", pArr[iBeginCursor]);
		printf("%c ", pArr[iEndCursor]);
		iBeginCursor--;
		iEndCursor++;		
	}
	
	while (-1 < iBeginCursor)   //判断最后是否到首位
	{
		printf("%c ", pArr[iBeginCursor]);
	}
	while (iEndCursor < iArrSize) //判断最后是否到末尾
	{
		printf("%c ", pArr[iEndCursor]);
	}

	
}
qq61588518 发表于 2017-11-14 15:12
赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 08:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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