首页>计算机>软件水平考试>模拟试题>正文
软考:《高级语言程序设计》北大上机试题(十三)

www.zige365.com 2008-11-11 19:05:47 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

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)&&(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页,当前在第2页  1  2  3  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
08年11月软考英语考前练习试题及答案汇总
08年11月软考英语考前练习试题及翻译(1)
08年11月软考英语考前练习及解析(18)
08年11月软考英语考前练习试题及解析(17)
08年11月软考英语考前练习试题及解析(16)
08年11月软考英语考前练习试题及解析(15)