选择顺序结构编程题有解析.docVIP

  • 24
  • 0
  • 约6.01千字
  • 约 8页
  • 2017-05-02 发布于四川
  • 举报
选择顺序结构编程题有解析

第1题 (10.0分) 题号:346 功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的个位和百位上。 例如:当a=45,b=12。调用该函数后,c=4251。 #include stdio.h void fun(int a, int b, long *c) { /**********Program**********/ /********** End **********/ } main() {int a,b; long c; clrscr(); printf(Input a, b:); scanf(%d%d, a, b); fun(a, b, c); printf(The result is: %ld\n, c); getch(); NONO(); } NONO ( ) { FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(in.dat, r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i++) { fscanf(rf, %d,%d, a, b) ; fun(a, b, c) ; fprintf(wf, a=%d,b=%d,c=%ld\n, a, b, c) ; } fclose(rf) ; fclose(wf) ; } 答案:---------------------- *c=a/10*1000+a%10*10+b/10+b%10*100; ---------------------- 第2题 (10.0分) 题号:313 功能:调用函数fun判断一个三位数是否水仙花数。在main函数中从键盘输入一个三位数,并输出判断结果。请编写fun函数。说明:所谓水仙花数是指一3位数,其各位数字立方和等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。 #include stdio.h int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int n,flag; scanf(%d,n); flag=fun(n); if(flag) printf(%d 是水仙花数\n,n); else printf(%d 不是水仙花数\n,n); yzj(); getch(); } yzj() { FILE *IN,*OUT; int iIN,i; int iOUT; IN=fopen(in.dat,r); if(IN==NULL) { printf(Please Verify The Currernt Dir..It May Be Changed); } OUT=fopen(out.dat,w); if(OUT==NULL) { printf(Please Verify The Current Dir.. It May Be Changed); } for(i=0;i10;i++) { fscanf(IN,%d,iIN); iOUT=fun(iIN); fprintf(OUT,%d\n,iOUT); } fclose(IN); fclose(OUT); } 答案:---------------------- int bw,sw,gw; bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1; else return 0; ---------------------- 第32题 (10.0分) 题号:381 功能:用辗转相除法求两个整数的最大公约数。 #includestdio.h int gcd(int n,int m) { /**********Program**********/

文档评论(0)

1亿VIP精品文档

相关文档