C语言程序编写,求大神解答,在线等,急!!!
写两个函数,一个用于判断一个正整数是否为素数,另一个用于求一个两位整数各位数之和(如56,则求5+6=11),在主函数中输入一个两位正整数,调用这两个函数判断该数是否为素...
写两个函数,一个用于判断一个正整数是否为素数,另一个用于求一个两位整数各位数之和(如56,则求5+6=11),在主函数中输入一个两位正整数,调用这两个函数判断该数是否为素数,并求该数各位数之和。
展开
2个回答
展开全部
#include<stdio.h>
#include<math.h>
int prime(int a)
{
int i,n=(int)sqrt(a);
for(i=2;i<=n;i++)
{
if(a%i==0)
break;
}
if(i>n)
printf("this is 素数\n");
else
printf("this is not 素数\n");
return 0;
}
int sum(int a)
{
int i,j;
j=a%10;
i=(a%100-j)/10;
return i+j;
}
int main()
{
int a;
printf("输入一个二位整数\n");
sacnf("%d",&a);
getchar();
if(a<10||a>99)
{
printf("input err\n");
return 1;
}
prime(a);
printf("二位之和=%d\n",sum(a));
return 0;
}
展开全部
当时学c时写的代码,判断素数:
int _tmain(int argc, _TCHAR* argv[])
{
int x = 0, i = 0, t = 0;
printf("请输入一个整数:");
scanf_s("%d", &x);
for (i = 2; i < x; i++)
{
if (x%i == 0)
{
t = 1;
break;
}
}
if (t == 1)
{
printf("\n%d不是素数",x);
}
else
{
printf("\n%d是素数",x);
}
return 0;
}
剩下的比较简单,建议自己去学,学c要有耐心,都点思考。
int _tmain(int argc, _TCHAR* argv[])
{
int x = 0, i = 0, t = 0;
printf("请输入一个整数:");
scanf_s("%d", &x);
for (i = 2; i < x; i++)
{
if (x%i == 0)
{
t = 1;
break;
}
}
if (t == 1)
{
printf("\n%d不是素数",x);
}
else
{
printf("\n%d是素数",x);
}
return 0;
}
剩下的比较简单,建议自己去学,学c要有耐心,都点思考。
追问
可以给我详细的这道题的解答吗,因为快考试了所以想要个参考
追答
素数不能被除了1以为的任何数整除,第一个for循环判断输入的数能否被大于1(即2开始)的数整除,能的话结束循环,t=1,最后判断t是否等于1,若等于1则证明存在一个数能整除输入的数,则输入的数不是素数,反子t若等于初始的0则证明输入的数不能被除了1和自身以为的数整除,该数为素数。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询