求10-1000之内同时被2,3,7整除的数,并输出
#include <stdio.h>
int main() {
int i;
for(i=10;i<100;i++){
if(i%2==0&&i%3==0&&i%7==0) printf("%d\n",i);
}
return 0;
}
任意输入一个三位正整数,十位上的数字不动,将个位和百位上的数字交换,构成一个新的正整数输出。如:486变为684;
#include <stdio.h>
int main() {
int m,n,k;
scanf("%d",&k);
if(k>=100||k<=999){
m=k/100;//获取百位
n=k%10;//获取个位
k/=10;
k%=10;//获取十位
printf("转换后的数字为:%d",n*100+k*10+m);
} else printf("输入不合法") ;
return 0;
}
编写自定义函数prime(int x) 判断x是否为素数,利用此函数编写程序找出100-2000的所以素数,并输出素数的个数。
循环到平方根且一旦被整除就break效率最高!
#include <stdio.h>
#include <math.h>
int prime(int k){
int s=sqrt(k),i;
for(i=2;i<=s;i++){
if(k%i==0) break;
}
if(i<=s) return 0;//仅当n>s时,代表整个循环都运行完了,且没有触发break,说明是素数
else {
printf("%d ",k);//记得留个空格后者逗号啥的,免得结果混在一起
return 1;
}
}
int main() {
int k,count=0;
for(k=100;k<=2000;k++){
if(prime(k)==1){
count++;
}
}
printf("素数共有%d个",count);
return 0;
}