几道C语言的题目,求教
2010-6-5 13:56
4347
几道C语言的题目,求教
2010-6-5 13:56
4347
过几天就要考试了.我C语言才开始学都不懂.
四、程序分析,给出下列各程序的执行结果(输出)
1、#include
int f(n)
int n;
{
static int s=1;
while(n) s*=n--;
return s;
} ''这个看懂了大概上面的是函数.就是不知道那几个命令是什么意思
main()
{ int i,j;
i=f(3); j=f(5);
printf("\nThe output of 5.1. is:\n\n");
printf("i=%d j=%d \n",i,j);
}
2、#include
trans(m,n)
int m,n;
{int i;
if (m>n){
i=m%n;trans(m/n,/);
}
else i=m;
if (i<10) printf("%d",i);
else printf("%c",'A'+i-10);
}
main( )
{int i;
printf("\nThe output of 5.3 is:\n\n");
printf("\n%d->-",-23);
trans(21,3);
printf("\n%d->",123);
trans(123,16);
}
3、#include
#include
typedef struct node
{
int d;
struct node *next;
}t_node;
create(h)
t_node **h;
{
int i,m=0;t_node *p,*q;
scanf("%d",&i);
while(i)
{
p=(t_node*)malloc(sizeof(t_node));
p->d=i>m?i:m;m=i;p->next=NULL;
if(*h)
{
q->next=p;
q=p;
}
else
{
*h=p;
q=p;
}
scanf("%d",&i);
}
}
void main()
{
t_node *h=NULL,*p;
create(&h);p=h;printf("\nThe output of 4.3 is:\n\n");
while(p)
{printf("%d",p->d);
p=p->next;
}
}
4、#include
main()
{ int m,n,sign,t;
scanf("%d%d",&m,&n);
while(m*n){
if (m>=0&&n>=0||m<=0&&n<=0) sign=0;
else sign=1;
m=m>0?m:-m; n=n>0?n:-n;
t=0;
while(n--) t+=m;
printf("\nThe result is:");
if (sign) printf("-");
printf("%d\n",t);
scanf("%d%d",&m,&n);
}
}
5、#include
int a[10]={1,2,3,4,5,6,7};
rev (m,n)
int *m,n;
{int t;
if(n>1)
{t=*m;*m=*(m+n-1);*(m+n-1)=t;
rev(m+1,n-2);
}
}
main()
{int i;
printf("\nThe output of 5.5 is:\n\n");
rev(a+2,6);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
rev(a,5);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}
另外求下 十六进到十进制 的互转方法....