900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C程序设计语言上机13 《高级语言程序设计》北大上机试题(十三)

C程序设计语言上机13 《高级语言程序设计》北大上机试题(十三)

时间:2019-07-14 12:03:33

相关推荐

C程序设计语言上机13 《高级语言程序设计》北大上机试题(十三)

C语言上机试题:13

1.题目:编一C程序,其功能是能把读入一串英文单词(以单词end做为结束标记,单个单词字母数≤20),并按字典顺序输出。(注:可执行程序命名为e13_1.exe)

程序设计:

#include "string.h"

main()

{char a[80][20],c[20];

int i=-1,j,k,n=-1;

printf("Please enter a word string:\n");

do {i++;

n++;

scanf("%s",a[i]);

}

while (strcmp(a[i],"end")!=0);

for (k=1;k;n;k++)

for (j=n-1,i=0;i;n-k;i++,j--)

if (strcmp(a[j],a[j-1]);0)

{strcpy(c,a[j]);

strcpy(a[j],a[j-1]);

strcpy(a[j-1],c);

}

for (i=0;i;n;i++)

printf("%s ",a[i]);

printf("\n");

}

2.题目:编一C程序,它能计算并输出读入的两个无符号整数m与n(m≥n,0;m;1050,0;n;1050)的差m-n。 (注:可执行程序命名为e13_2.exe)

程序设计:

#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);

ml=strlen(m);

nl=strlen(n);

if ((ml;nl)||((ml=nl)%26amp;%26amp;(strcmp(m,n),0)))

{strcpy(mn,m);k=ml;strcpy(m,n);ml=nl;strcpy(n,mn);nl=k;}

printf("%s-%s=",m,n);

for (i=ml-1,j=nl-1;i;=ml-nl-1;i--,j--) n[i]=n[j];

for (i=0;i;ml-nl;i++) n[i]='0';

for (i=ml-1;i;=0;i--)

{ms=m[i]-48;

ns=n[i]-48;

if (ms;=ns) {mns=ms-ns;f=0;}

else {mns=ms+10-ns;f=-1;}

if (ms;=ns) m[i]=mns+48;

else {m[i]=mns+48;

m[i-1]+=f;

}

}

k=0;

while (m[k]=='0') k++;

for (i=k,j=0;i;ml;i++,j++) mn[j]=m[i];

printf("%s\n",mn);

}

3.题目:编一C程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。例如13=1;23=3+5;33=7+9+11。要求程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为0时止。(注:可执行程序命名为e13_3.exe)

程序设计:

#include "math.h"

main()

{int n,k,k1,m,i;

printf("Please enter n=");

scanf("%d",%26amp;n);

printf("\n");

while (n!=0)

{k1=1;

do {k=k1;

m=0;

for (i=1;i;=n;i++)

{m+=k;

k+=2;

}

if (m==n*n*n) break;

else k1+=2;

}

while (1);

for (i=1;i;=n;i++)

{if (i!=n) printf("%d+",k1);

else printf("%d",k1);

k1+=2;

}

printf("\nPlease enter n=");

scanf("%d",%26amp;n);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。