江科大计算机实践题目,江苏科技大学计算机二级VC++经典编程题整理.doc

.

Word 文档

江苏科技大学计算机二级经典编程题整理

设计一个程序,求出5~100之间的所有素数,要求每行输出5个数。判断一个整数是否为素数时用一个函数来实现。

#include

int f(int n)

{

for(int i=2;i

if(n%i==0)break;

if(!(i

else return 0;

}

void main()

{

int count=0;

for(int n=5;n<=100;n++)

{

if(f(n))

{

cout<

if(++count%5==0)cout<

}

}

}

试编写一个函数求n!。

#include

int f(int n)

{

if(n==1||n==0)return 1;

else return n*f(n-1);

}

void main()

{

int n;cin>>n;

cout<

}

3、编写一个程序求分数相加,要求其结果为最简形式,如3/10+1/6=7/15。(此题包含:求最大公约数(经典算法))

#include

int f(int m,int n) //求m,n的最大公约数

{

for(int i=m;;i--)

if(m%i==0&&n%i==0)return i;

}

void main()

{

int fz1,fm1,fz2,fm2,fz,fm;

cout<

cin>>fz1>>fm1;

cout<

cin>>fz2>>fm2;

fz=fz1*fm2+fz2*fm1;

fm=fm1*fm2;

int t=f(fz,fm);

fz/=t;

fm/=t;

cout<

}

4、编程实现对序列{6,9,5,1,3,4,8,7}进行升序排列。

#include

void f(int s[],int n) //自定义函数实现数组排序,参数传递是双向的地址传递

{

for(int i=0;i

for(int j=i+1;j

{

if(s[i]>s[j]){

int t=s[i];s[i]=s[j];s[j]=t;}

}

}

void main()

{

int s[]={6,9,5,1,3,4,8,7};

f(s,8);

for(int i=0;i<8;i++)

{

cout<

}

}

5、设n是一个两位正整数,s1是n的各位数之和,s2是2*n的各位数之和。输出所有满足条件s1等于s2的n、s1、s2。要求用函数实现求各位数之和。

#include

int f(int n) //自定义函数求n的各位数之和

{

int sum=0;

while(n)

{

sum+=n%10;

n/=10;

}

return sum;

}

void main()

{

for(int n=10;n<=99;n++)

if(f(n)==f(2*n))

cout<

}

6、【2010秋真题】试定义一个类Array,将4行5列二维数组的各列前3个元素依次拼接成一个整数,再将该整数赋值给相应列的最后一个元素。例如,

(1)私有数据成员: int a[4][5];

(2)公有成员函数:

Array(int b[][5],int n):构造函数,用二维数组b初始化数组a,参数n表示数组b的行数。

void val(int j):将成员数组a第j列的前3个元素依次拼接成一个整数赋值给第4个元素。

void fun():利用成员函数vaLl()依次处理数组a的各列,完成题目的要求。

void print():按矩阵形式打印数组a

(3)在主函数中完成对该类的测试。

输出示例:

原数组:

1 2 0 4 1

16 11 21 0 2

2 0 3 1 3

0 0 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值