各位來自五湖四海相聚在我們博客的小夥伴們,有時是否會覺得自己壯志難酬,想做很多事無能爲力,沒事,是金子總會發光,相信自己一定能行,我們有自己的精彩。
壯志難酬
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7320 Accepted Submission(s): 2375
楓冰葉子要求甘露回答一個問題,否則不讓他離開,可惜甘露絞盡腦汁未果,希望你來幫他解決,助他完成大業。
問題是這樣的:給你一個小數x,讓你算出小數點後第n位是什麼,(1 <= n <= 6)
每行輸入一個小數(輸入數據保證一定是a.b的形式,爲了簡單化問題,沒有循環小數的情況)
然後跟一個n,表示小數點後第幾位
#include<stdio.h>
int main(){
int t,n,i=0;
double a;
char xs[200];
scanf("%d",&t);
while(t--){
scanf("%lf%d",&a,&n);
sprintf(xs,"%lf",a);
for(int j=n+1;j<=n+1;j++)
printf("%c\n",xs[n+1]);
}
return 0;
}
總結:
1、Sprintf()函數的用法
函數功能:把格式化的數據寫入某個字符串
函數原型:int sprintf( char *buffer, const char *format [, argument] … );
返回值:字符串長度(strlen)
2、GNU C++與平常的C++的區別
前者是Linux平臺上的,後者是windows平臺上的。
前者使用Linux上的API,後者使用win API
3、杭電acm出現Runtime Error ACCESS_VIOLATION
原因可能是數組開的不夠大,數組越界了.