分类信息
各地考试

当前位置:首页 » 软件水平考试 » 模拟试题 » 正文

2013计算机软件设计师试题(4)


时间:2013-10-21 来源:软件水平考试网 浏览次数:86  【华夏培训网:中国教育培训第一门户

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


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




       软件水平考试

推荐图文

热门点击排行

©2015 hxpx.com All Rights Reserved 滇ICP备13002816号-1
华夏培训网唯一网址www.hxpx.com