50分求几道C语言编程题答案(在线=)

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:30:33
1.题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

2.题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

1。先用辗转相除法求最大公约数

#include <stdlib.h>

int gcd(int m,int n){
int a=m,b=n;
int c;
if(a<b) a=n,b=m;
while(a%b!=0){
c=b;
b=a%b;
a=c;
}
return b;
}

void main(){
{
int m,n;
scanf("%d,%d",&m,&n);
int g=gcd(m,n);//最大公约数
int lcm=m*n/g;
printf("%d,%d",g,lcm);
}

2.先将每位数字分离,然后再操作

int old;
scanf("%d",&old);
int a[4];
int i;
for(i=0;i<3;i++){
a[i]=((old%10)+5)%10;
old=old/10;
}
int newd=a[0]*1000+a[1]*100+a[2]*10+a[3];
printf("%d",newd);

第一题:

int MCD(a,b) //辗转相除法求最大公约数
int a,b;
{
int s;
if(b>a) {a=a+b;
b=a-b;
a=a-b;
}
s=a%b;
while(s!=0)
{
a=b;
b=s;
s=a%b;
}
return b;
}

int main()
{
int m,n;
int MD,MP;
scan