#include <stdio.h>
main()
{
long n;
printf("please input a number : ");
sacnf("%ld",&n);
if(n!=0)
{
n%=9;
if(n==0) n=9;
}
printf("the result is %ld \n", n);
}
程序在写的时候,还是要多想想.....
第一个题的代码,我饿了两天肚子才弄出来
#include "stdio.h"
#include "math.h"
struct stu
{
int i;
struct stu *next;
};
struct stu *creat(int j)
{
int i;
struct stu *head,*pb,*pf;
for(i=0;i<j;i++)
{
pf=(struct stu*)malloc(sizeof(struct stu));
printf("input a number\n");
scanf("%d",&pf->i);
if (i==0) head=pb=pf;
else pb->next=pf;
pb=pf;
pf->next=0;
}
return(head);
}
list(struct stu *fj)
{
struct stu *head;
int i;
head=fj;
do{
printf("%d\t",head->i);
head=head->next;
}
while (head!=0) ;
}
struct stu *px(struct stu *fj,int s)
/*排序方法1:逐个判断某数排在从大到小或从小到大第几位,然后放到数组所在位
排序方法2:新建链表,依次找出最大到最小数放到新链表里*/
{
int i=0,j,k,max,m;
struct stu *head,*pa,*pb,*pz,su[6]={0},*xb,*xbh,*xbf,*xbb;
/*********方法1:借用数组排序*********/
head=fj;
pb=fj->next;
printf("\n*******\n");
while(fj!=0)
{
i=0;
while(pb!=0)
{
if(fj->i<pb->i)
{
i=i+1;
pb=pb->next;
}
else
{
pb=pb->next;
}
}
su[i]=*fj;
fj=fj->next;
pb=head;
}
for(i=0;i<s;i++)
{
printf("%d\t",su[i].i);
}
/*********方法2:借用新建链表排序*********/
for (j=0;j<s;j++)
{
xb=(struct stu*)malloc(sizeof(struct stu));
pa=head;
pz=head->next;
for (k=0;k<s-1;k++)
{
if(j==0)
{
if(pa->i<pz->i)
{
m=pz->i;
pa=pz;
pz=pz->next;
}
else
pz=pz->next;
}
else
{
if(pa->i<m)
{
if (pz->i<m)
if(pa->i>pz->i)
{
pz=pz->next;
}
else
{
pa=pz;
pz=pa->next;
}
else
{
pz=pz->next;
}
}
else
{
pa=pa->next;
pz=pa->next;
}
}
}
m=pa->i;
xb->i=m;
if (j==0)
xbh=xbf=xb;
else
xbf->next=xb;
xbf=xb;
xb->next=0;
}
xbf=xbh;
printf("\n");
while (xbf!=0)
{
printf("%d\t",xbf->i);
xbf=xbf->next;
}
printf("\n");
return(xbh);
}
int zxgbs(struct stu *fj)
{
struct stu *pf;
int k=2,j;
j=fj->i;
pf=fj->next;
while(pf!=0)
{
if ((j*k)%(pf->i)==0)
pf=pf->next;
else
{
while (((j*k)%(pf->i))!=0)
{
k=k+1;
}
pf=fj->next;
}
}
j=(j*k);
return(j);
}
main()
{
struct stu *fj;
int n=0,i,ja;
while (n<1)
{
printf("input lian biao shu: ");
scanf("%d",&n);
}
fj=creat(n);
list(fj);
fj=px(fj,n);
ja=zxgbs(fj);
printf("the lcm=%d",ja);
getch();
}