房天下 > 房天下问答 > 业主生活 > 其他
  • C语言编程如何实现:由15个正整数排成一圈,找出连续的四个数,它们的和是最大的(不

    C语言编程如何实现:由15个正整数排成一圈,找出连续的四个数,它们的和是最大的(不

    提问者:如同怀念

    发布于2010-11-06

共1个回答
  • aogege 丨Lv 4
    //---------------------------------------------------------------------------#include <stdio.h>#include <stdlib.h>#include <time.h>#define MAX 15struct node{ int d; struct node *next;};long int ts(struct node *a){ int i=0; long int s=0; for (i = 0; i<4; i++) { s+=a->d; a=a->next; } return s;}void prt(struct node *a){ int i; for (i = 0; i<4; i++) { printf("%d ",a->d); a=a->next; } putchar('\n');}int main(void){ struct node a[MAX]; int i,m; long int s,t; srand(time(NULL)); printf("%d个整数是:\n",MAX); for (i = 0; i<MAX; i++) { a[i].d=rand()%100; if (i<MAX-1) { a[i].next=&a[i+1]; } else a[i].next=&a[0]; printf("%d ",a[i].d); } putchar('\n'); for (m=i = 0; i<MAX; i++) { if (!i) { s=t=ts(&a[i]); } else if (s<(t=ts(&a[i]))) { s=t; m=i; } } printf("\n和最大的四个相邻数为:\n"); prt(&a[m]); printf("\n这四个数的和是:\n%d\n",s); return 0;}//---------------------------------------------------------------------------
    +1 2010-11-07 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。