编程训练题目B(必选):
有一个表(汇编语言中的表,见书156页例4.88,类似于C语言中的数组),表中可以存一些整数。手动输入这些整数。整数输入完毕后,再手动输入1或者0。若输入1则表示要选择表中的奇数,排序后输出,并输出奇数的个数。若输入0则表示要选择表中的偶数,排序后输出,并输出偶数的个数。
注1:程序要有提示,提示当前应输入什么内容。
注2:软件的使用者可能存在恶意用户,需考虑程序的鲁棒性(也叫健壮性)。①如果输入的数据存在小数(几点几,例如97.25),那么输出这部分小数并输出小数的个数:②如果输入的是字母,如果输入的是特殊字符,等等情况,可以自行设计如何应对。③如果程序已有明确提示,“恶意用户”仍然故意违规操作,可以自行设计如何应对。
用汇编语言编写一个小程序(带注释)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
9条回答 默认 最新
关注获得4.50元问题酬金 - 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7433963
- 这篇博客也不错, 你可以看下c语言 给一个整数,要求 1.求它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字
- 除此之外, 这篇博客: 练习 3-1 在上面有关折半查找的例子中,while循环语句内共执行了两次测试,其实只要一次就足够(代价是将更多的测试在循环外执行)。重写该函数,使得在循环内部只执行一次测试。中的 练习 3-1 在上面有关折半查找的例子中,while循环语句内共执行了两次测试,其实只要一次就足够(代价是将更多的测试在循环外执行)。重写该函数,使得在循环内部只执行一次测试。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
代码块
#include <stdio.h> #include <stdlib.h> int binsearch(int x, int v[], int n); int main() { int x=3; int v[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int n=10; int a; a=binsearch(x, v, n); printf("%d\n", a); system("pause"); return 0; } int binsearch(int x, int v[], int n) { int low, high, mid; low=0; high=n-1; mid=(low+high)/2; while((low<=high)&&(x!=v[mid])){ (x<v[mid]) ? high=mid-1 : low=mid+1; mid=(low+high)/2; } if (x==v[mid]) return mid; else return -1; }如果程序设计有错误或更简洁的方法,欢迎并感谢您指正出示,谢谢!
解决 无用评论 打赏 举报