C語言小題2
阿新 • • 發佈:2017-12-07
c語言練習題1、有一百個整數,其中有負數,找出連續三個數之和最大的部分.
示例:
輸入:2 ,-8 ,3,-2 ,4,-10
輸出: 5 ({3, -2, 4})
#include<stdio.h> int?func_max(int?buf[],int?n)//求數組的最大值,並返回最大值的下標 { int?max=0; int?i; for(i=1;i<n-1;i++) if(buf[i]>buf[max]) max=i; return?max; } void?func_sum(int?arr[],int?n)//連續三個數的和 { int?buf[97]={0};//100個數最多構成97個連續相加的和 int?i=0; for(i=0;i<n-3;i++) buf[i]=arr[i]+arr[i+1]+arr[i+2]; int?index=func_max(buf,n-3); printf("%d{%d,%d,%d}",buf[i],arr[index],arr[index+1],arr[index+2]); } int?main() { int?a[100]={0}; printf("Please?input?a?number:"); int?i=0,n=0; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",a[i]); func_sum(a,n); return?0; }
2,嵌入式系統經常具有要求程序員去訪問某特定的內存位置的特點。在某工程中,要求設置一絕對地址為0x67a9的整型變量的值為0xaa55。編譯器是一個純粹的ANSI編譯器。寫代碼去完成這一任務。
#include<stdio.h> int?main() { ????int?*ptr; ????ptr?=?(int?*)0x67a9; ????*ptr?=?0xaa55; ????return?0; ?}
C語言小題2