c语言程序设计修改题实例分析


这篇文章主要讲解了“c语言程序设计修改题实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言程序设计修改题实例分析”吧!1、题目描述给定程序modi1.c中,函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按位输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!2、原程序#include#includevoidfun( intm, intk ){intaa[20], i;for( i = 0; m; i++ ){/**********found**********/aa[i] = m/k;m /= k;}for( ; i; i– )/**********found**********/printf( “%d”, aa[ i ] );}
main(){intb, n 香港云主机;printf( “nPlease enter a number and a base:n”);scanf( “%d %d”, &n, &b );fun( n, b );printf(“n”);getchar();}3、参考答案
本题的考核点是数制的转换
k进制数有以下特点
1.有0到k-1共k个数码。
2.逢k进1,借1当k。k进制数某一位上的数码实际上代表该数码乘上该位上的权,如十进制数12,1实际代表1*10。原程序给出的fun函数中,第一个for循环用来将十进制的整型数据m转换为k进制数据,并将结果按从低位到高位的顺序保存在数组aa中,在for循环之后,i即为转换成的k进制数的位数,所以根据题义要求,第一处应改为”aa[i]=m%k;”或相同作用的语句。
第二个错误处为:从后往前打印存有i个数的数组中的值,其下标应该为[i-1]到[0].所以”printf(“%d”,aa[i]);”应当改为”printf(“%d”,aa[i-1]);”。本解析仅供参考正确代码:#include#includevoidfun( intm, intk ){intaa[20], i;for( i = 0; m; i++ ){/**********found**********/aa[i] = m%k;m /= k;}for( ; i; i– )/**********found**********/printf( “%d”, aa[ i-1 ] );}
main(){intb, n;printf( “nPlease enter a number and a base:n”);scanf( “%d %d”, &n, &b );fun( n, b );printf(“n”);getchar();}感谢各位的阅读,以上就是“c语言程序设计修改题实例分析”的内容了,经过本文的学习后,相信大家对c语言程序设计修改题实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: win10系统显示器模糊怎么办

小编给大家分享一下win10系统显示器模糊怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.在桌面任意空白处鼠标右键,选择“显示设置”,进入下一步。2.在设置界面的右侧移动到底…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/13 17:34
下一篇 07/13 17:34

相关推荐