C语言编程的小小问题~!大哥哥大姐姐帮帮忙哦!都是用C语言编哦!

2024-11-29 11:05:41
推荐回答(2个)
回答1:

1题:
输出的分别是最大公约
数和最小公倍数
#include
void main()
{
int a,b,m,t;
scanf("%d,%d",&a,&b);
if(a{
t=a;
a=b;
b=t;
}
m=a*b;
while(a%b)
{
t=b;
b=a%b;
a=t;
}
printf("%d,%d\n",b,m/b);
}
2题:
#include
void main()
{
int i,o,j=0,m=0,z=-1; char str[30]; int number=0;
float d[31]={0};
begin:
gets(str);
for(i=0;str[i];i++)
if(str[i]<40||str[i]>57||str[i]==46||str[i]==44)
{printf("bad input agian\n");goto begin;}
for(i=0;str[i];i++)
{if(str[i]<48||str[i]>57)
number=0;
else if(number==0)
{number=1;j++;}
if(number==1)
{d[j-1]=d[j-1]*10+str[i]-48;}
m=j;
}
o=m;
j=0;
for(i=0;str[i];i++)
if(str[i]==42||str[i]==47||str[i]==43||str[i]==45)
str[j++]=str[i];
str[j]='\0';
for(i=0;str[i];i++)
{
if(str[i]==42)
{
z++;
d[i-z]=d[i-z]*d[i+1-z];
for(j=i;jm--;
}
if(str[i]==47)
{
z++;
d[i-z]=d[i-z]/d[i+1-z];
for(j=i;jm--;
}
}
j=0;z=-1;o=m;
for(i=0;str[i];i++)
{
if(str[i]==43||str[i]==45)
str[j++]=str[i];
}
str[j]='\0';
for(i=0;str[i];i++)
{
if(str[i]==43)
{z++;
d[i-z]=d[i-z]+d[i+1-z];
for(j=i;jm--;
}
if(str[i]==45)
{z++;
d[i-z]=d[i-z]-d[i+1-z];
for(j=i;jm--;
}
}
printf("%5.2f\n",d[0]);
}
3题吗网上多的很给你提供几个地址,你也可以
自己去书店买几本来看,这类的书很多的。
http://www.programfan.com/index.htm
http://site.baidu.com/list/20biancheng.htm

回答2:

c