c - 如何打印数字的行和列?
问题描述
我有一个在 10x10 表中生成 100 个数字的作业。然后通过冒泡排序并让用户搜索特定数字。如果数字在表中,但它应该打印出它是哪一列和哪一行。如果数字在表格的第一行,它工作得很好,但如果它在其他行上,它就不能按我的意愿工作。
我尝试为每一行设置If语句和 printfs 并且它有效,但我不允许这样做并且必须为此写下一个通用函数。谁能帮我?
void siffra(int tal[100], int val){
printf("Enter the value to find:\n");
scanf("%d", &val);
int first = 0;
int last = 99;
int middle = (first+last)/2;
while (first <= last) {
if (tal[middle] < val)
first = middle + 1;
else if (tal[middle] == val) {
printf("%d is present at line %d column %d .\n",val,last, middle+1);
break;
}
else
last = middle - 1;
middle = (first + last)/2;
}
if (first > last)
printf("Not found! %d is not present in the list.\n", val);
}
解决方案
推荐阅读
- java - 我不明白为什么 Java 泛型和集合一书中给出的正确示例遵循广告中的真理原则
- in-app-subscription - 过期后重新订阅时,Google Play 商店不会返回 obfuscatedExternalAccountId
- c - 条件为假,但即便如此,它的打印尺寸为 s
- python - Python Pandas Dataframe 数据透视表列和值顺序
- reactjs - 试图在反应js中使用地图内的条件
- javascript - 如何使用 JQuery 隐藏元素?
- php - PHP 在字符串中检测特定的非字母数字 UTF8 / Unicode 宪章
- jquery - Ajax Unobtrusive 表单有时在.net core razor 中提交两次的问题
- reactjs - 用于图像下载的 React 渲染
- gitlab-ci - 如何在不触发下载的情况下查看原始构建工件?