| |
C语言上机试题:3 1. 题目:编一C程序,它能读入一正整数n(n%26lt;40),并输出如下图形:

共n行,每行n个A,下一行比上一行右移一列.(注:可执行文件名为e3_1.exe)
程序设计: main() {int n,i,j,k; char ch='A',space=' '; printf("Please inter n="); scanf("%d",%26amp;n); printf("\n"); for (i=0;i%26lt;n;i++) {for (j=0;j%26lt;i;j++) printf("%c",space); for (k=0;k%26lt;n;k++) printf("%c",ch); printf("\n"); } }
2. 题目:编一C程序,它能读入一个正整数,并输出该正整数的17进制形式,依次用A、B、C、D、E、F、G表示10、11、12、13、14、15、16。(注:可执行文件名为e3_2.exe)
程序设计: main() {char b[18]={"0123456789ABCDEFG"}; int c[64],d,i=0,base=17; long n; printf("Please enter n="); scanf("%ld",%26amp;n); printf("\n"); do {c[i]=n%base; i++; n=n/base; } while (n!=0); printf("Transmite new base=17:\n"); for (--i;i%26gt;=0;--i) {d=c[i]; printf("%c",b[d]); } printf("%c",'\n'); }
3. 题目:编一C程序,它能读入两个整数m与n,计算并输出m与n的绝对值的最大公约数及最小公倍数。(注:可执行文件名为e3_3.exe)
程序设计: main() {int m,n,d,r; printf("Please enter m and n:\n"); scanf("%d %d",%26amp;m,%26amp;n); if (m%26lt;0) m=-m; if (n%26lt;0) n=-n; if (m%26lt;n) {r=m;m=n;n=r;} d=m; while (d%n!=0) d+=m; printf("%d\n",d); do {r=m%n; if (r!=0) {m=n;n=r;} } while (r!=0); printf("%d\n",n); }
|
|