c语言编程: 从键盘输入两个正整数m,n,判断m能否被n整除,若能输出m和n,否则打印"NO".
#include
void main() { int m,n;
scanf("%d%d",&m,&n);
if ( m%n==0 ) printf("%d,%d
",m,n);
else {
printf("%d: ",m); if ( m%2==0 ) printf("even
"); else printf("odd
");
printf("%d: ",n); if ( n%2==0 ) printf("even
"); else printf("odd
");
}
}
一、基本方法:
1、输入M和N;
2、遍历从M到N的所有整数;
3、每个累加;
4、输出结果。
参考代码:
#include int main(){ int M,N,n,s=0; scanf("%d%d",&M,&N);//输入 for(n = M; n <= N; n ++)//遍历 s+=n;//累加每个整数。 printf("%d
",s);//输出结果。 return 0;}二、利用等差数列求和公式。
从M到N的所有整数为等差数列,公差为1,所以可以利用求和公式直接获得结果。
#include int main(){ int M,N,n,s=0; scanf("%d%d",&M,&N);//输入 s=(M+N)*(N-M+1)/2;//等差数列求和。 printf("%d
",s);//输出结果。 return 0;}三、方法对比:
第一种适用于C语言练习,可以涉及更多知识点。
第二种方法效率更高,适用于实际应用。
这是一个很简单的分支语句问题:
#include <stdio.h>
int main()
{
int m,n;
scanf("%d%d",&m,&n);
if(m%n==0) printf("m=%d,n=%d
",m,n);
else printf("NO
");
return 0;
}
#include<stdio.h>
int main()
{
int m=scanf("%d", &m);
int n=scanf("%d", &n);
if(0==m%n)
{
printf("%d %d", m,n);
}else{
printf("NO");
}
return 0;
}
#include<stdio.h>
int main(){
int m = 0, n = 0;
printf("请用户输入两个整数");
scanf("%d%d",m,n);
if(m % n == 0){
printf("%d%d\n",m,n);
}else{
printf("NO\n");
}
return 0;
}