当前位置: 代码迷 >> C语言 >> 望指点一下这个...
  详细解决方案

望指点一下这个...

热度:139   发布时间:2007-07-29 20:52:15.0
望指点一下这个...

设有一维数组说明 char T[5], 存放五个字母'A','B','C','D','E',
编程输出以下格式的结果:
    ABCDE
    BCDEA
    CDEAB
    DEABC 
    EABCD

还有一个就是:  编写一个函数,将数组a中的n个数每5个相邻的元素为一组分别求和,结果放到数组b中,最后一组如果不足5个也进行求和.例如a的元素为4,8,3,2,0,5,2,9,7,8,4,3,2,1,8,4,3,2.则b的元素为17,31,18,9.


我怎么编都不对,希望高手指点一下!
先谢谢了!

[此贴子已经被作者于2007-7-29 22:18:59编辑过]

搜索更多相关的解决方案: 编程  希望  元素  

----------------解决方案--------------------------------------------------------

#include <stdio.h>

int main(void)
{
char T[5]={'A','B','C','D','E'};

char *p=T;

while(p<T+5)
{
char *p1=p;
int n=5;

while(n--)
{
putchar(*p1++);

if(p1==T+5)
p1=T;
}

putchar('\n');
p++;
}

return 0;
}


----------------解决方案--------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
char s[5] = {'A', 'B', 'C', 'D', 'E'};
int i, j, k;

for (i = 0; i < 5; i++) {
for (j = i; j < 5; j++)
fputc(s[j], stdout);
for (k = 0; k < i; k++)
fputc(s[k], stdout);
printf("\r\n");

}

exit(0);
}

利用循环


----------------解决方案--------------------------------------------------------
谢谢
fputc(s[j], stdout);
fputc(s[j], stdout);
可以解释一下这个是什么意思吗?
----------------解决方案--------------------------------------------------------
把字符写到标准输出

和putchar(s[j])一样

----------------解决方案--------------------------------------------------------
好笨啦,这样不就行了嘛:
#include <stdio.h>
int main(void)
{
printf("ABCDE\nBCDEA\nCDEAB\nDEABC\nEABCD");
return 0;
}
谁有我的效率高?

还有个效率低一点的:
#include <stdio.h>
int main(void)
{
int i;
char T[5]={'A','B','C','D','E'};
for(i=0;i<5;i++)
printf("%c%c%c%c%c\n",T[i%5],T[(i+1)%5],T[(i+2)%5],T[(i+3)%5],T[(i+4)%5]);
return 0;
}

----------------解决方案--------------------------------------------------------
虽然这个我也知道,方法取巧了些,但还是对的.谢谢了

----------------解决方案--------------------------------------------------------
printf("ABCDE\nBCDEA\nCDEAB\nDEABC\nEABCD");

绝!!!!!!!!!!
----------------解决方案--------------------------------------------------------
小妹妹,我的第二个不算是投机取巧吧?
----------------解决方案--------------------------------------------------------
我觉得是啊!不过你的算法没有谁可以说是错的.
呵呵,上面的两道题我都知道不对在哪里了,
谢谢大家帮我啊!!

[此贴子已经被作者于2007-7-29 22:54:02编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案