c程序设计语言

有几个C语言的函数有关的题目请高手帮忙.高手不吝赐教.感激不尽!!1,请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a的... 有几个C语言的函数有关的题目请高手帮忙.高手不吝赐教.感激不尽!!
1,请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a的十位和个位依次存放在c数的十位和千位上,b的十位和个位依次存放在c数的个位和百位上。

例如:当a=45,b=12,调用该函数后,c=5241。

部分源程序如下,只需要完成fun函数的编写即可。

#include <stdio.h>
int fun(int a,int b)
{//只需要完成此函数的功能即可

}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=fun(a,b);
printf("c=%d\n",c);
}

2,请编写函数fun,其功能是判断一个整数n是否为素数,如果是素数,则返回1,否则返回0。

部分源程序给出如下,请勿改动主函数main和其他函数,仅在函数fun的花括号中填入所编写的代码即可。

#include <stdio.h>
int fun(int n)
{//仅需要在此完成函数的功能即可

}
int main()
{
int a;
scanf("%d",&a);
if(fun(a)) printf("Prime\n");
else printf("Non Prime\n");
}

3,请编写一个函数,其功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。

例如,若输入17 5,则应输出19 23 29 31 37

请勿改动主函数main,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>
void fun(int m,int k,int xx[])
{

}
int main()
{
int m,n,zz[1000];
scanf("%d%d",&m,&n);
fun(m,n,zz);
for(m=0;m<n;m++)
printf("%6d",zz[m]);
printf("\n");
return 0;
}
展开
 我来答
wqyun84
推荐于2016-04-26 · TA获得超过317个赞
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:200万
展开全部
第一题:
#include <stdio.h>
int fun(int a,int b)
{
int result=0;
result+=a%10;
result*=10;
result+=b%10;
result*=10;
result+=a/10;
result*=10;
result+=b/10;
return result;
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=fun(a,b);
printf("c=%d\n",c);
}

第二题:
#include <stdio.h>
int fun(int n)
{
for(int i=2;i<n;++i)
if(n%i==0)
return 0;
return 1;
}
int main()
{
int a;
scanf("%d",&a);
if(fun(a)) printf("Prime\n");
else printf("Non Prime\n");
}

第三题:
#include <stdio.h>
void fun(int m,int k,int xx[])
{
++m;
for(int i=0;i<k;++i)
{
while(true)
{
int j=2;
for(;j<m;++j)
{
if(m%j==0) break;
}
if(j==m)
{
xx[i]=m;
++m;
break;
}
else
{
++m;
}
}
}
}
int main()
{
int m,n,zz[1000];
scanf("%d%d",&m,&n);
fun(m,n,zz);
for(m=0;m<n;m++)
printf("%6d",zz[m]);
printf("\n");
return 0;
}
583735151
2010-06-03 · TA获得超过449个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:243万
展开全部
1 如果你要求输入的a、b位数很大,可以将整数a、b各位都转换成相应字符,再分别为他们定义一个队列,对队列进行操作即可。由于这里a、b只是两位数,只要把他们各位分离出来就可以了。
int fun(int a,int b)
{
c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10)*1;
return c;
}
2、
#include<math.h>
int isprime(int n)
{int i;
double k=sqrt(n);
for(i=2;i<=k;i++) /*1不是素数*/
if(n%i==0)
return 0;
return 1;
}
3
void fun(int m,int k,int xx[])
{
int i,j=0,count=0;
for(i=m;i<m+k*6;i++) /*至少要乘5,为安全起见,这里乘6*/
if( isprime(i) ) /*利用上面的isprime函数*/
{xx[j++]=i;
count++;
if(count==k)
break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七囍是晓蕾呀D5
2010-05-27
知道答主
回答量:26
采纳率:0%
帮助的人:15.3万
展开全部
1:
int fun(int a,int b)
{
int c1,c2,c3,c4,c;
c1=(b/10)%10;
c2=(a/10)%10;
c3=b%10;
c4=a%10;
c=c4*1000+c3*100+c2*10+c1;
return c;
}
2:
int fun(int n)
{
int i,flag=0;;
for(i=2;i<=n/2;i++)
if(n%i==0)
{flag=1;break;}
if(flag==0) return 1;
else return 0;
}
3:这个我不会。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洪颐然0Hg
2010-05-27
知道答主
回答量:32
采纳率:0%
帮助的人:11.6万
展开全部
第三题:
void fun(int m, int k, int xx[])

{

int g=0,I,j,flag=1;

for(i=m+1;i<m*m;i++)

{

for(j=0;j<I;j++)

{

if(i%j!=0)

flag=1;

else

{

flag=0;

break;

}

}

if (flag==1 && j>=i)

{

if (k>=0)

{

xx[g++]=i;

k--;

}

else

break;

}

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式