只能输入字母的c语言程序设计教程课后答案,C语言程序设计基础教程-课后习题答案-(清华大学出版社-于延编)-自己做的-欢迎校正.pdf...

第一章 计算机程序设计导论

一、简答题

1.请简述计算机程序设计语言的发展历程。

答:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶

段,C 语言是一种面向对象的编程语言,也属于高级语言。

2.什么是算法,请举例设计一个算法。

答:算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看

成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

求两个数的最大公约数设两个变量M 和N

1.如果M

2.M 被N 除,得到余数R

3.判断R 0,正确则N 为最大公约数否则进行下一步

4.将N 赋值给M,将R 赋值给N,重复第一步

3.请叙述算法都有哪些特性。

答:①有穷性②群定性③有效性④有零个或多个输入⑤有一个或多个输入

4.请叙述什么是结构化程序设计以及结构

答:①只要有几种简单类型的借口,就可以构成任意复杂的程序。这样可以使程序设计

规范化,便于用工程的方法来机型软件生产, 由顺序结构,选择结构,循环结构这三种基

本结构组成的程序就是结构化程序。

二、算法设计题

1.设计算法求1+2+3+…+100 的和。

#include

#include

main(){

int I,S 0;

for(I 1;I< 100;I++) //求1-100 的和

S S+I;

printf("%d\n",S);

system("pause");

}

2.已知两个自然数M 和N, 请设计算法输出它们的

最小公倍数。

#include

#include

#include

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

{int r;

r m%n;

while(r! 0)

{m n;n r;r m%n;}

return n;

}

int fmin(int m,int n) //最小公倍数 两个数的积除两个数的最大公约数

{return m*n/fmax(m,n);}

main()

{ int a,b;

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

printf("fminis:%d\n",fmin(a,b));

system("pause");}

3.已知一个自然数N,请设计算法输出它所有真

约数的和。

#include

#include

int f(int x)

{

int n 0,i,k 1,flag 1;

while(flag) //求一个数的约数

{

flag 0;

for(i k;x%i;i++);

k i+1;

if(x! i) //判断是否到这个数本身

{

flag 1;

n+ i;//将约数累加到n 中

}

}

returnn;//是这个数本身时返回值为n

}

int main()

{

int m;

scanf("%d",&m);

printf("真约数之和 %d\n",f(m));

system("pause");}

4.设计算法求出10000 以内所有孪生素数对。

#include

#include

int f(int x) //判断一个数是否为素数

{

int i;

for(i 2;x%i;i++);

if(x i)

returnx;

else

return0;

}

main()

{

int i,j 1,m 1,n 3; //n 3 n永远为m 前一个素数

for(i 5;i<10000;i++) //因为最小的孪生素数对从为3,5

{

if(f(i) 0) //如果i 非素数跳

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值