admin 管理员组

文章数量: 1086019


2024年4月30日发(作者:weight缩写)

函数课后编程题

1、编写一个函数,计算100以内个位是5且能被3整除的整数个数。

#include

int fun(int n)

{int cnt=0;

if(n%10==5&&n%3==0)

cnt++;

return cnt;}

main()

{int n,cnt=0;

for(n=1;n<=100;n++)

{cnt+=fun(n);

if(fun(n)) printf("n%d",n);}

printf("n一共有%d个这样的数",cnt);

}

2、编写一个函数:将已知某数组的奇数项合成一个新数组。在主函数中调用该

函数,并输出新数组的内容。

#include

#define M 10

int fun(int x[],int y[],int);

main()

{int x[M]={12,13,24,45,67,82,20,11,32,66},y[M/2];

int n;

puts("原数组是:");

for(n=0;n

printf("%4d",x[n]);

fun(x,y,M);

puts("n数组的奇数项是:");

for(n=0;n

printf("%4d",y[n]);

}

int fun(int x[],int y[],int N)

{int i,j;

for(i=1,j=0;i

y[j]=x[i];

}

3、编写一个函数,将两个两位正整数A与B合成一个整数C,合并的方式是:

将A数的十位数和个位数依次放在C 数的个位数和十位数上,B数的十位数和

个位数依次在 C数的百位数和千位数上。例A=16,B=35,C=5361

#include

int fun(int a,int b)

{int c;

c=b%10*1000+b/10*100+a%10*10+a/10;

return c;}

main()

{int a,b;puts("输入两个两位正整数:");

scanf("%d%d",&a,&b);

printf("%d",fun(a,b));

}

4、编写一个函数,判断某个数是否为同构数。同构数是指这个数为该数平方的

尾数,如5^2=25,25^2=625,编写函数输出2-99之间的同构数。

#include

int tgs(int);

main()

{int ,n;

for(n=2;n<=99;n++)

if(tgs(n))printf("%3d",n);

}

int tgs(int x)

{int tag=1;

if(x*x%10==x||x*x%100==x||x*x%1000==x) tag=1;

else tag=0;

return tag;}

5、编写一个函数,将一个数组中所有元素的次序逆转。

#include

int fx(int x[],int);

main()

{int x[10]={12,13,24,45,67,82,20,11,32,66};

int n;

fx(x,10); //数组名和数组长度

for(n=0;n<10;n++)

printf("%4d",x[n]);

}

int fx(int x[],int N)

{int n,t;

for(n=0;n

t=x[n],x[n]=x[10-n-1],x[10-n-1]=t;

}


本文标签: 函数 数组 编写 整数 合成