| |
C语言上机试题:14 1题目:编一C程序,它能计算并输出读入的两个无符号整数m与n(0
程序设计: #include "stdio.h" #include "string.h" main() {static char m[20],n[20],mn[20]; int ml,nl,ms,ns,mns,k,i,j,f; printf("Please enter 2 number string:\n"); scanf("%s",m); scanf("%s",n); printf("%s+%s=",m,n); ml=strlen(m); nl=strlen(n); if (mlfor (i=ml-1,j=nl-1;i%26gt;=ml-nl-1;i--,j--) n[i]=n[j]; for (i=0;ifor (i=ml-1;i%26gt;=0;i--) {ms=m[i]-48; ns=n[i]-48; mns=ms+ns; if (mns%26lt;10) f=0; else f=1; if (mns%26lt;10) m[i]+=ns; else {m[i]+=ns-10; m[i-1]+=f; } } if (f==0) printf("%s\n",m); else {for (i=ml;i%26gt;0;i--) m[i]=m[i-1];m[0]='1';printf("%s\n",m);} }
2.题目:编一C程序,它能读入构成集合A,B的两串非零整数x1,x2,……,xm,0,y1,y2,……,yn,0 。计算A与B的交集A∩B,再以由小到大的顺序输出A∩B中的元素,A∩B为空时无输出。 (注:可执行程序命名为e14_2.exe)
程序设计: main() {int a[80],b[80],ab[80],x,al,bl,abl,i,j,n,k; printf("Please enter int numbers:\n"); i=-1; do {i++; scanf("%d",%26a[i]); } while (a[i]!=0); al=i;printf("%d\n",al); i=-1; do {i++; scanf("%d",%26b[i]); } while (b[i]!=0); bl=i;printf("%d\n",bl); abl=-1; for (i=0;ifor (j=0;jif (a[i]==b[j]) {abl++; ab[abl]=a[i]; break; } if (abl!=-1) for (k=1;kfor (j=abl-1,i=0;iif (ab[j]{x=ab[j];ab[j]=ab[j-1];ab[j-1]=x;} if (abl!=-1) for (i=0;iprintf("%d ",ab[i]); printf("\n"); }
3.题目:编一C程序,它能从当前目录下名为"string.txt"的文本文件中读取一个字符串或前20个字符组成的字符串,并显示在屏幕上。(注:可执行程序命名为e14_3.exe)
程序设计: #include "stdio.h" main() {FILE *fp; char s[21]; if ((fp=fopen("string.txt","r"))==NULL) {printf("string.txt can not open!\n"); exit(0); } fgets(s,21,fp); fputs(s,stdout); fclose(fp); }
|
|