1. 程式人生 > >c語言除法如何保留小數,如何printf小數 [程式設計題] 字串碎片

c語言除法如何保留小數,如何printf小數 [程式設計題] 字串碎片

#include<stdio.h>
#include<string.h>
char str[51];
int n,count,i;
int main()
{
    scanf("%s",&str);
    n=strlen(str);
    count=1;
    for(i=1;i<n;i++)
    {if(str[i]!=str[i-1])
        count++;
     else continue;
    }
    
    double ans;
    ans=(float)n/count;
    printf("%.2f",ans);
}

printf("%.2f",ans);        是保留兩位小數

n和count都是int型,用float強制轉換浮點型,才能得出帶小數的結果!!

[程式設計題] 字串碎片

時間限制:1秒

空間限制:32768K

一個由小寫字母組成的字串可以看成一些同一字母的最大碎片組成的。例如,"aaabbaaac"是由下面碎片組成的:'aaa','bb','c'。牛牛現在給定一個字串,請你幫助計算這個字串的所有碎片的平均長度是多少。

輸入描述:
輸入包括一個字串s,字串s的長度length(1 ≤ length ≤ 50),s只含小寫字母('a'-'z')


輸出描述:
輸出一個整數,表示所有碎片的平均長度,四捨五入保留兩位小數。

如樣例所示: s = "aaabbaaac"
所有碎片的平均長度 = (3 + 2 + 3 + 1) / 4 = 2.25

輸入例子1:
aaabbaaac

輸出例子1:
2.25