文章目录
1、找出最小值
题目:本题要求编写程序,找出给定一系列整数中的最小值。
输入格式:
输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。
输出格式:
在一行中按照“min = 最小值”的格式输出n个整数中的最小值
输入样例:
4 -2 -123 100 0
输出样例:
min = -123
代码1:
#include<stdio.h>
int main()
{
int n,a,min=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
if(min>a){
min=a;
}
}
printf("min = %d",min);
return 0;
}
代码2:
#include <stdio.h>
#include <math.h>
int main()
{
int i,n,min,temp;
scanf("%d",&n);
scanf("%d",&temp);
min=temp;
if (n==1)
{
printf("min = %d\n",min);
}
else
{
for (i=1;i<=n-1;i++)
{
scanf("%d",&temp);
if (min>temp)
{
min=temp;
}
}
printf("min = %d\n",min);
}
return 0;
}
2、最大公约数和最小公倍数
题目:本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
输入样例:
511 292
输出样例:
73 2044
代码1:
#include<stdio.h>
int main()
{
int m,n,s,temp,n1,sum;
scanf("%d%d",&m,&n);
s=m*n;
while(n){
temp=m%n;
if(temp==0){
break;}
m=n;
n=temp;}
sum=1.0*s/n;
printf("%d %d",n,sum);
return 0;
}
代码2:
#include<stdio.h>
int divisor(int a,int b) //自定义函数求最大公约数
{
int temp; //整形零时变量
while(b!=0)
{
temp=a%b; //a中大数除以b中小数循环取余,直到b及余数为0
a=b;
b=temp;
}
return a; //返回最大公约数到调用函数处
}
int multipile(int a,int b) //自定义函数求最小公倍数
{
int divisor(int a,int b); //自定义函数返回值类型
int temp;
temp=divisor(a,b); //再次调用自定义函数,求出最大公约数
return(a*b/temp); //返回最小公倍数到主调函数处进行输出
}
int main()
{
int m,n,t1,t2;
scanf("%d%d",&m,&n);
t1=divisor(m,n);
t2=multipile(m,n);
printf("%d %d\n",t1,t2);
return 0;
}