资源描述:
《C语言内涵教程练习7参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7.1charf(charch){if('A'<=ch&&ch<='Z'){ch+=3;if(ch>'Z'){ch-=26;}}elseif('a'<=ch&&ch<='z')ch=(ch-'a'+3)%26+'a';returnch;}7.2#includedoublef(doublex){if(x<2)returnx ;if(x<17)return2*x-1 ;returnsin(x)+1;}7.3intf(intn){intrev=0;intm;while(n>0){m=n%10;rev=rev*10+m;n/=10;}returnrev;}7.4intf(intn
2、){intm,sum,num=n;sum=0;while(n>0){m=n%10;sum+=m*m*m;n/=10;}returnsum==num;}7.5intf(inta,intb){intr;r=a%b;while(r>0){a=b;b=r;r=a%b;}returnb;}7.6/*输出说明1表示不能被2或3或5整除;2,3,5分别表示能被2,3,5整除;6表示能被2和3整除;10表示能被2和5整除;15表示能被3和5整除;30表示能同时被2、3和5整除;*/intf(intn){intm=1;if(n%2==0)m*=2;if(n%3==0)m*=3;if(n%5==0)m*=5
3、;returnm;}7.7不可以。由函数的首部可知,无论在何种情况下,convertGrade函数都必须输出一个字符。可以约定用函数输出字符F表明函数的输入数据非法。if(grade<0
4、
5、grade>100)return‘F’;。7.8不能互换使用。库函数abs用于求整数的绝对值,而库函数fabs用于求小数的绝对值。函数调用abs(3)的值为整数3,函数调用abs(2.3)的值为整数2;函数调用fabs(3)的值为double型数3.0,函数调用fabs(2.3)的值为double型数2.3。注:abs(2.3)的实参为2.3,给形参赋值后,形参的值会为2,故它的返回值为2。7.9#i
6、ncludeintf(intn){intrev=0;intm;while(n>0){m=n%10;rev=rev*10+m;n/=10;}returnrev;}voidmain(){inta;printf("请输入一个正整数:");scanf("%d",&a);if(f(a)==a)printf("%d是一个回文数",a);elseprintf("%d不是一个回文数",a);}7.10#includecharf(charch){if('A'<=ch&&ch<='Z'){ch+=3;if(ch>'Z'){ch-=26;}}elseif('a'
7、<=ch&&ch<='z')ch=(ch-'a'+3)%26+'a';returnch;}voidmain(){charstr[1000];inti=0;printf("请输入一个字符串:");gets(str);printf("加密前:%s加密后:",str);while(str[i]!=' '){str[i]=f(str[i]);++i;}puts(str);}7.11#includeintf(intn){intm=1;if(n%2==0)m*=2;if(n%3==0)m*=3;if(n%5==0)m*=5;returnm;}voidmain(){inta,i
8、;printf("请输入10个正整数:");for(i=0;i<10;++i){scanf("%d",&a);printf("%d",a);switch(f(a)){case1:printf("不能被2,3,5中的任一个数整除。");break;case2:printf("能被2整除。");break;case3:printf("能被3整除。");break;case5:printf("能被5整除。");break;case6:printf("能被2和3整除。");break;case10:printf("能被2和5整除。");case15:printf("能被3
9、和5整除。");break;case30:printf("能同时被2,3,5整除。");break;}}}7.12局部变量m和n的作用域从5行起至第9行止。swap函数形参x和y的作用域从第11行起至第16行止。变量temp的作用域从12行起至第16行止。7.13全局变量m和变量n的作用域从3行起至第16行止。swap函数形参x和y的作用域从第11行起至第16行止。变量temp的作用域从12行起至第16行止。程序的运行结果为