当输入This is a pen. That is a pencil.怎么改才能实现预期结果
不知道应该怎么样让百分号向右边对齐,希望有人解答一下
#include
#include
int main()
{
int count(int length, int sum, char* p);
void printstar(float N);
char str[100], let[26];
int i, j, sum, length = 0, star;
float N;
gets_s(str);
for (i = 0; i < strlen(str); i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] -= 32;
}
if (str[i] >= 'A' && str[i] <= 'Z') {
length++;
}
}
for (i = 0; i < 26; i++) {
let[i] = 'A' + i;
}
for (i = 0; i < 26; i++) {
sum = 0;
for (j = 0; j < strlen(str); j++) {
if (str[j] >= 'A' && str[j] <= 'Z') {
if (str[j] == let[i]) {
sum++;
}
}
}
if (sum != 0) {
N = count(length, sum, &let[i]);
printstar(N);
}
}
}
int count(int length, int sum, char* p)
{
int n;
float N;
N = sum * 1.0 / length * 100;
printf("%c: %d %.1f%%",*p, sum, N);
return N;
}
void printstar(float N)
{
int n,star;
n = N * 10;
n %= 10;
if (n >= 5 && n < 10) {
star = N + 1;
}
else {
star = N;
}
while (star!=0) {
printf("*");
star--;
}
printf("\n");
}
printf("%c: %d %6.1f%%",*p, sum, N);
printf("%c: %d %5.1f%%",*p, sum, N);