#include <stdio.h>
#include <math.h>
int prime(int n) //封装函数来得到素数
{
int j;
long k;
k = sqrt(n)+1;
for(j=2;j<=k;j++)
{
if(n%j == 0){
return 0;
//n能被j整除,不是素数,返回0,
//0值也在下面的if语句中当作条件被使用
}
}
return 1; //for循环结束,仍不能整除说明n是素数,
//返回1,1值在if中可被当作条件使用
}
int main(){
int i,num;
scanf("%d",&num); //读取输入整数
for(i=num;i<num+1000;i++) //通过读取的num进入循环
if(prime(i)&&prime(i+2)) //※※※※※※※※※※if语句中使用函数调用
{
printf("%d %d",i,i+2);
break;
}
return 0;
}
对于输出的实验
#include <stdio.h>
int main(){
int i=1;
printf("%2d%2d%2d\n",i,i,i);
printf("%3d%3d%3d\n",i,i,i);
printf("%d%d%d\n",i,i,i);
}
题目:
#include <stdio.h>
void pyramid(int n) {
for(int i=1;i<=n;i++){ //分为两个部分,一部分打印前面的空格
for(int j=1;j<=n-i;j++){ //另一部分打印数字带一个空格
printf(" "); //然后换行
}
for(int j=1;j<=i;j++){
printf("%d ",i);
}
printf("\n");
}
}
int main() {
int n;
scanf("%d", &n);
pyramid(n);
return 0;
}
活用函数的调用,如:在for循环中嵌套if,if中多次调用sundigit函数
n=n/10 非常nice
#include <stdio.h>
int sumdigit(int n) {
int sum;
sum = 0;
do {
sum=(n%10)+sum;
n=n/10; //❗通过让n=0来让循环结束(除10之后一定是个位数,
//所以不会有下一次循环)
} while (n != 0);
return sum;
}
int main() {
int i;
for (i = 10; i <= 99; i++)
if (sumdigit(i) == 12)
printf("%d ", i);
return 0;
}
一个小知识点:
a%10取个位,a/=10去掉个位。
#include <stdio.h>
int sum_cubic(int a) {
// 请在此处编写代码
int d,s=0;
while(a>0){
d=a%10;
s+=d*d*d;
a/=10;
}
return s;
}
int main() {
int a = 12345;
int res = sum_cubic(a);
printf("%d",res);
return 0;
}