我想在很长一段时间后练习 C 编程并陷入最基本的困境。尝试使用while
循环搜索一个正常工作的数组,但是当尝试使用For
循环时,我没有得到实际的输出。这是我尝试过的代码并且工作得很好:
#include<stdio.h>
int main()
{
int arr[100], element, num, i;
int cnt = 1;
printf("Enter no of elements: ");
scanf("%d", &num);
printf("\nEnter the values: ");
for(i = 0; i < num; i++)
{
scanf("%d", &arr[i]);
}
printf("\nEnter the element to be searched: ");
scanf("%d", &element);
for(i = 0; i < num; i++)
{
if(arr[i] == element)
{
printf("\nNumber found at the index = %d", i + 1);
}
else
{
/**To prevent repeated output but trying to remove this section - Starts**/
if(cnt == 1)
{
printf("\nNumber not found");
}
cnt += 2;
/**To prevent repeated output but trying to remove this section - Ends**/
}
}
return 0;
}
问题是当搜索到的值匹配时,它会获得匹配值的索引,并打印消息'Number not found'。但如果没有值匹配,则只返回'未找到号码'。以下是我为搜索值获得的输出:
答案 0 :(得分:1)
或者你可以简单地做
if(arr[i] == element)
{
printf("\nNumber found at the index = %d", i + 1);
cnt = 0;
break;
}
删除else部分,然后在for循环之后,检查cnt是否仍为1。 如果仍然是1,则打印未找到。
答案 1 :(得分:1)
固定程序是:
if let url = NSBundle.mainBundle().urlForResource("Computer", withExtension: "plist") {
...
let data = try NSData(contentsOfURL:url)
let emojiArray = try NSPropertyListSerialization.propertyListFromData(data, options: [], format: nil) as! [[String:AnyObject]]
输出:
#include<stdio.h>
int main()
{
int arr[100], element, num, i;
int cnt = 1;
printf("Enter no of elements: ");
scanf("%d", &num);
printf("\nEnter the values: ");
for(i = 0; i < num; i++)
{
scanf("%d", &arr[i]);
}
printf("\nEnter the element to be searched: ");
scanf("%d", &element);
for(i = 0; i < num; i++)
{
if(arr[i] == element)
{
printf("\nNumber found at the index = %d", i + 1);
cnt=0;
break; //break the loop
}
}
if(cnt==1){
printf("\nNumber not found");
}
return 0;
}
当找到数字时,使cnt = 0并打破循环;在循环之后,您可以检查cnt的值是否仍为1表示未找到数字。