程序设计基础练习题(全部有答案版)(7)

2019-06-11 21:06

for(j=1;j<=i;j++) t=t+j; s=s+t;

}

printf(\}

解法2:

#include main() {

int i,t,s; s=0;

for(i=1;i<=10;i++) {

t=t+j; s=s+t; }

printf(\}

5.一个三位的素数,若其个位和百位数字相同,则这个数叫做回文数,打印这些回文数。 解法1:不用函数 #include #include main() {

int n,i,j,x,y,z,loop; for(n=101;n<=999;n++) {

x=n/100;

y=(n-x*100)/10; z=n; j=sqrt(n);

for(i=2;i<=j;i++) if(n%i==0) break; if(i>=j+1) loop=1; else loop=0;

if( (x= =z)&&loop= =1 ) printf(\

31

}

printf(\

}

解法2:用函数 #include #include

int ZS(int n) /*判素数的函数*/ {

int z,i,j=sqrt(n),temp; for(i=2;i<=j;i++) if(n%i==0) break;

if(i>=j+1) temp=1; else temp=0; return temp; }

int HWS(int n) /*判回文数的函数*/ {

int x,y,z,loop,c; x=n/100;

y=(n-x*100)/10; z=n; c=ZS(n);

if( (x= =z)&& c ) loop=1; else loop=0; return loop; }

main() {

int n;

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

if(HWS(n)) printf(\printf(\} 6.用递归方法编程序求解习题6.10—猴子吃桃子问题。#include int num(int n)

32

{

int c;

if(n==1) c=1;

else c=2*(num(n-1)+1); return c; }

void main() {

printf(\}

7.用选择法,对十个整数按从小到大的顺序排列(排序用函数实现)。

void sort(int a[],int n) {

int i,j,k,t;

for(i=0;i

k=i;

for(j=i+1;j void main() {

int i,a[10]={1,3,2,4,5,6,9,0,8,7}; sort(a,10);

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

printf(\ printf(\}

8.编一程序,查找输入的N个字符串中最长的那个字符串。

#include #include #define N 3 main()

33

{char str[N][81],*sp; int k;

for(k=0;k

for(k=1;k

printf(\最长的那个字符串是:\\n%s\\n\

printf(\最长的那个字符串的长度是:%d\\n\}

9.编程序,设二进制数a=00101101,编程序使a的高4位取反,低4位不变,求出这个结果 。 #include

main()

{unsigned int a=055,b,c,d,e; b=~0<<4; c=a^b;

d=~(~0<<8); e=c&d;

printf(\ }

10.函数原型说明为int mystrlen(char *s);,其功能是测试字符串s的长度,编制该函数并用相应主函数对其进行测试。

#include void main()

{ int mystrlen(char *s); char str[80]; gets(str);

printf(“%d\\n”, mystrlen(str)); }

int mystrlen(char *s) { int len=0;

while (*s++) len++; return len; }

34

七、程序分析题 1. 程序1如下:

#include void main()

{ int i,j,k,t,a[10];

printf(\

for(i=0;i<10;i++) scanf(\

for(i=0;i<10;i++) { k=i; 【1】

for(j=i+1;j<10;j++) if(a[j]>a[k]) k=j; 【2】

if(k!=i) { t=a[i]; a[i]=a[k]; a[k]=t; } 【3】

}

for(i=0;i<10;i++) printf(\ printf(\}

语句【1】的所用是:假设无序序列中最大的数的下标为第一个数,其下标为i

语句【2】的所用是:找出无序序列中最大的数的下标 语句【3】的所用是:把最大的数与无序序列的第一个数交换 2. 程序2如下:

#include \void main() { int i;

int f[20]={1,1};【4】

for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; 【5】 for(i=0;i<20;i++)

{ if(i%5==0) printf(\ printf(\ } 【6】

printf(\}

语句【4】的所用是:初始化Fibonacci数列的前两个数为1 语句【5】指的for语句的所用是:循环求出Fibonacci数列的

35


程序设计基础练习题(全部有答案版)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:职工健康素养知识知晓率问卷调查情况

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: