亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

更加完整的解決方案,教程里的不夠完整。


//教程里的解決方案不夠完整,當數組中與value的值相等的元素存在多個時,程序總是會輸出其中的第一個元素的下標,其后仍有與value相同的值則直接跳過,不會輸出。


#include <stdio.h>

int getIndex(int arr[5],int value)

{

? ? int i;

? ? int temp=0;? ? ? //用來承載第二個for循環中arr[i] != value的判斷次數。

? ? for(i=0;i<5;i++)

? ? {

? ? ? ? if(arr[i]==value)

? ? ? ? {

? ? ? ? ? ? printf("存在,下標為");

? ? ? ? ? ? break;? ? ? //當arr[i] == value的結果時,證明value的值能在arr數組中找到,立即退出循環。

? ? ? ? }

? ? }

? ? for(i=0;i<5;i++)

? ? {

? ? ? ? if(arr[i]==value)

? ? ? ? {

? ? ? ? ? ? printf(" ··· %d",i);? ? ? //輸出當arr[i] == value時i的數字。即arr數組中的某個元素等于value時,該元素的下標。

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? temp++;? ? ? //累加arr[i] != value的判斷次數。當temp==arr數組的總長度時,代表arr數組中沒有一個元素==value,即value在arr數組中不存在。

? ? ? ? }


? ? }

? ? if(temp==5)

? ? {

? ? ? ? printf("不存在。\n");

? ? }

? ? else

? ? {

? ? ? ? printf("。");

? ? }

}

int main()

{

? ? int arr[5]={3,12,9,8,6};? ? ? //可更改此數組的元素,觀察運行結果有沒有錯誤,即使相同的元素也能正確輸出結果。

? ? int value=8;? ? ? ? ? ? ? ? ? //可更改此數組的元素,觀察運行結果有沒有錯誤。

? ? printf("%d在數組中",value);

? ? getIndex(arr,value);? ? ? //傳遞arr[]以及value的參數。

? ? return 0;? ??

}


正在回答

舉報

0/150
提交
取消

更加完整的解決方案,教程里的不夠完整。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號