C语言高手帮忙编程!!!题目如下所述:

作者&投稿:匡劳 (联系方式在网页底部的电邮联系)
请C语言编程高手帮忙帮我看看下面的题目~

① 倒填 ② 蛇形填数 ③ 回转填数 这个你应该看的懂吧
你在表中从1数到25就知道怎么填的了
然后再看程序 应该很简单的啊 你得把程序循环得层次弄清楚
例如③ 回转填数

int i,j,k=1,m,mi,mj,a[NUM][NUM],ind[4]={NUM-1,NUM-1,0,1}; /*i为行号,j为列号,k当前填的数,数组ind[4]在回转填数中控制圈数*/
/*cycle*/
printf("cycle:
");
k=1;i=0;j=0;
while(ind[0]>=ind[2]) /*控制数组填数循环,ind[0]>=ind[2]表示到达最里边一圈,即结束填数*/
{while(i<=ind[0]) /*第一列填k=1到5,i为行号,j为列号=0*/
{a[i][j]=k;i++;k++;}
ind[0]--;i--;j++; /*ind[0]--后为3,表示填数i在上边循环结束后为5故减i--,j++为下边从第二列开始填数做准备*/
while(j<=ind[1]) /*此时i=4,j=1,第5行第2列开始填k=6到9*/ {a[i][j]=k;j++;k++;}
ind[1]--;j--;i--; /*ind[1]=3,j=4,i=4*/
while(i>=ind[2]) /*此时i=3,j=4,第4行第5列开始填k=10到13*/
{a[i][j]=k;i--;k++;}
ind[2]++;i++;j--; /*ind[2]=1表示第一圈结束*/
while(j>=ind[3])
{a[i][j]=k;j--;k++;}
ind[3]++;j++;i++;}
for(i=0;i<NUM;i++) /*输出数组*/
for(j=0;j<NUM;j++)
{printf("%4d",a[i][j]);
if(j==NUM-1) printf("
");}
printf("
");
getch();
}

没注释的以此类推啊 差不多了

#include
#include
int main()
{
double e,x;
double funcos(double e,double x);
printf("Enter e:");
scanf("%lf",&e);
printf("Enter x:");
scanf("%lf",&x);
printf("cos(x)=%.4f
",funcos(e,x));
return 0;
}
double funcos(double e,double x)
{
int i,n,flag;
double m,result,item,sum;
sum=1;
flag=-1;
n=2;
result=1.0;
for(i=2;fabs(item)>e;i++){
result=result*i;
if(i%2==0){m=pow(x,n)/result;
item=m*flag;
sum=sum+item;
printf("%d%f%f%f
",n,m,sum,result);n=n+2;
}}
return sum;
}

本人手打,刚编的。
望采纳。
用的是循环链表
#include <stdio.h>
#include <stdlib.h>

struct man{ /* 定义 链表*/
int num;
int exist;
struct man *next;
};

struct man *next_man(struct man *last) /* 返回指向下一个单元的指针*/
{
struct man *next;
next=(struct man *)malloc(sizeof(struct man));
last->next=next;
return next;
}

struct man *create_list(int num) /*创建循环链表 返回开头的指针 */
{
struct man *head,*temp;
int i=2;
head=temp=(struct man*)malloc(sizeof(struct man));
head->exist=1;
head->num=1;
while(i<=num){
temp=next_man(temp);
temp->num=i;
temp->exist=1;
i++;
}
temp->next=head; /* 尾巴把头接上**/
return head;
}

int main()
{
int n;
int i=0;
struct man *head,*temp;
printf("Enter the n:");
scanf("%d",&n);
printf("\n");
head=temp=create_list(n);
while(n>1){ /* 主循环 用于判断 要走的人 已经离开的人 的exist值改为0*/
i++;
if(i==3){
temp->exist=0;
printf("%d \tout!\n",temp->num);
n--;
i=0;
}
temp=temp->next;
while(temp->exist==0)
temp=temp->next;
}
printf("The last one is :%d\n",temp->num);
return 0;
}

经典的约瑟夫环问题,随便百度一大堆
可以用循环链表来实现(百度肯定有代码)

相关视频

C语言编程求助!!!求高手帮忙!感激不尽!
include "stdio.h"include"string.h"int main(){ int i,s = 0; \/*请修改此处:int和i间有空格; 计算的和值s首先要清零 *\/ char str[80];i=0;while ((str[i]=getchar())!='\\n')i++;str[i]='\\0';for(i=0;i<80;i++)if (str[i]>='0' && str[i]<='9

C语言编程高手来帮忙编个程序啊!马上就要!
已经添加不用函数的了...PS:飘渺世间天 程序精彩,高手!include <stdio.h> \/*计算方法1使用的函数*\/ unsigned int jc(unsigned int n){ static unsigned int rt = 1;return rt *= n;} \/*计算方法2使用的函数*\/ int jc1(int n){ return n <= 1 ? 1 : n * jc1(n-1);} int m...

c语言编程高手请进:麻烦帮忙解决下面这个菜鸟级的问题!(两个问题),求...
首先:#include"stdio.h"int fun(int i, int n){ int m=1;for(int j=0;j0){ a=j%10;if(a%7==0)s++;j=j\/10;} printf(" %d中有%d个7",x,s);} 第一题include"stdio.h"int fun(int i, int n){int m=1;for(int j=0;j0)...

请用C语言程序编程,高手请帮忙!有重金赏!请看下面题目:
这个阶梯有119步,程序如下:main(){ int x=7;while (x%2!=1 || x%3!=2 || x%4!=3 || x%5!=4 || x%6!=5) x+=7;printf("%d\\n",x);} 程序根据7步刚好走完这一信息,从7开始测试是否满足要求,不满足就加7再测试,知道满足为止。FOR...

C语言高手请帮忙!!!
100分好诱人……我做吧,楼上说的对。好好学习……回复1:(函数)y=1 x>0 y= 0 x=0 y=-1 x<0 用if语句编程,输入x,输出y;include <stdio.h> int main(void){ int x,y;printf("\\nInput x=");scanf("%d",&x);if(x>0) y=1;else if(x==0) y=0;else y=

C语言编程问题.请高手进(附源码)!!!HELP
{int a,b,c;printf("1.录入\\t");printf("2.修改\\t");printf("3.删除\\t");printf("\\n请输入所需要的功能:");scanf("%d",&a);switch(a){case 1:printf("请输入录入次数:");scanf("%d",&b);\/\/---&b for(c=0;c!=b;c++)sr();break;case 2:;break;case 3:;break;defau...