C语言程序设计(第3版)何钦铭 颜 晖 第6章 回顾数据类型和表达式(2)

2018-12-06 19:46

int c1 = 0, c2 = 0; char ch;

while((ch = getchar()) !=’#’)

switch(ch) { case ‘a’:

case ‘h’: c1++; default: c2++; }

printf(“c1=%d,c2=%d\\n”, c1, c2); return 0; }

三.程序设计题

1.分类统计字符个数:输入一行字符,统计出其中的英文字母、空格、数字和其他字符的个数。试编写相应程序。 解答:

#include int main(void) {

char op;

int letter,blank,digit,other;

printf(\op=getchar();

}

letter=blank=0; digit=other=0; while(op!='\\n'){ }

printf(\ return 0;

if(op==' ')blank++;

else if(op>='a'&&op<='z'||op>='A'&&op<='Z')letter++; else if(op>='0'&&op<='9')digit++; else other++; op=getchar();

2.使用函数累加由n个a构成的整数之和:输入两个正整数 a 和 n,求 a+aa+aaa+aa…a(n个a)之和。要求定义和调用函数fn(a,n),它的功能是返回aa……a(n个a)。例如,fn(3,2)的返回值是33。试编写相应程序。 解答:

#include int main(void) {

int a, i, n;

long sn;

long fn(int a, int n); scanf(\ sn=0;

for(i=1;i <= n; i++) sn = sn + fn(a, i); printf(\

return 0; }

long fn(int a, int n) { int i; long tn; tn = 0;

for(i = 1; i <= n; i++) tn = 10 * tn + a; return tn; }

3.使用函数输出指定范围内的函数:输入两个正整数m和n(1<=m,n<=1000),输出m~n之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数

factorsum(number),它的功能是返回 number 的因子和。例如,factorsum(12)的返回值是16(1+2+3+4+6)。试编写相应程序。 解答:

#include int factorsum(int number); int main(void) {

int m,n;

printf(\ scanf(\

printf(\

scanf(\ printf(\完全数是:\ for(;m<=n;m++) if(factorsum(m)==1) printf(\ return 0; }

int factorsum(int number) {

int i,sum;

if(number==1) return 1; sum=0;

for(i=1;i<=number/2;i++) if(number%i==0) sum=sum+i; if(sum==number)return 1; return 0; }

4.使用函数输出指定范围内的Fibonacci数:输入两个正整数m和n(1<=m,n<=10000),输出 m~n之间所有的Fibonacci数。Fibonacci序列(第 1 项起):1 1 2 3 5 8 13 21……要求定义并调用函数 fib(n),它的功能是返回第 n 项 Fibonacci 数。例如,fib(7)的返回值是 13。试编写相应程序。 解答:

#include int fib(int n); #include int main(void) {

int i,m,n,f;


C语言程序设计(第3版)何钦铭 颜 晖 第6章 回顾数据类型和表达式(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018-2019-优秀员工工作总结-实用word文档 (4页)

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

马上注册会员

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