diff options
| author | Richard Qin <richard.qin.001@gmail.com> | 2026-09-15 08:16:43 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.001@gmail.com> | 2026-09-15 08:16:43 +0800 |
| commit | 4022e5c95210631e4aceb08eaf9d9071aa5aefc4 (patch) | |
| tree | a5922559836e45fb3459a3d070367912e1035b1a /tests/sysy_lvX/1086_bin_search.sy | |
| download | rcc-master.tar.gz rcc-master.tar.xz | |
Diffstat (limited to 'tests/sysy_lvX/1086_bin_search.sy')
| -rw-r--r-- | tests/sysy_lvX/1086_bin_search.sy | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/sysy_lvX/1086_bin_search.sy b/tests/sysy_lvX/1086_bin_search.sy new file mode 100644 index 0000000..ce86475 --- /dev/null +++ b/tests/sysy_lvX/1086_bin_search.sy @@ -0,0 +1,51 @@ + +int main() +{ + //newline=10; + int i; + int sum; + int a[10]; + sum=0; + //m = 1478; + //int t; + i=0; + while(i<10) + { + a[i]=i+1; + i=i+1; + } + int x; + int high; + int low; + int mid; + int n; + n=10; + x=getint(); + high=n-1; + low=0; + mid=(high+low)/2; + while(a[mid]!=x && low < high) + { + mid=(high+low)/2; + if(x<a[mid]) + high=mid-1; + else + { + low = mid +1; + } + + } + + if(x==a[mid]) + putint(x); + else + { + x = 0; + putint(x); + } + + x = 10; + putch(x); + + return 0; +} |
