#include <stdio.h>
#include <string.h>
#include <ctype.h>
void main ()
{
void No1(char A[], int B[]);
void No2(char A[], char C[], int D[]);
char A[99], C[99];
int B[4], D[99];
printf("请输入你想要作用的语句:");
gets_s(A);
No1(A, B);
No2(A, C, D);
printf("语句中字母数、数字数、空格数、标点数分别是:\n");
for (int i(0); i < 4; i++)
printf("%4d", B[i]);
printf("\n语句中字母经过大小写转化为:");
for (int i(0); i<strlen(C); i++)
printf("%s", C[i]);
printf("\n语句中的数字为:");
for (int i(0); i < 99; i++)
printf("%d", D[i]);
}
void No1(char A[], int B[])
{
int i(0);
for (; i < strlen(A); i++)
{
if (isalpha(A[i]))
B[0]++;
if (isdigit(A[i]))
B[1]++;
if (isspace(A[i]))
B[2]++;
if (ispunct(A[i]))
B[3]++;
}
}
void No2(char A[], char C[], int D[])
{
int i(0), j(0), k(0);
for (; i < strlen(A); i++)
{
if (isupper(A[i]))
C[j++] = A[i] + 32;
if (islower(A[i]))
C[j++] = A[i] - 32;
if (isdigit(A[i]))
D[k++] = A[i] - 48;
}
}
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void main()
{
void No1(char A[], int B[]);
void No2(char A[], char C[], int D[]);
char A[99], C[99];
int B[4] = {0}, D[99] = {0};
printf("请输入你想要作用的语句:");
gets(A);
No1(A, B);
No2(A, C, D);
printf("语句中字母数、数字数、空格数、标点数分别是:\n");
for (int i = 0; i < 4; i++)
printf("%4d", B[i]);
printf("\n语句中字母经过大小写转化为:");
for (int i = 0; i < strlen(C); i++)
printf("%c", C[i]);
printf("\n语句中的数字为:");
for (int i = 0; i < 99; i++)
printf("%d", D[i]);
}
void No1(char A[], int B[])
{
int i = 0;
for (; i < strlen(A); i++)
{
if (isalpha(A[i]))
B[0]++;
if (isdigit(A[i]))
B[1]++;
if (isspace(A[i]))
B[2]++;
if (ispunct(A[i]))
B[3]++;
}
}
void No2(char A[], char C[], int D[])
{
int i = 0, j = 0, k = 0;
for (; i < strlen(A); i++)
{
if (isupper(A[i]))
C[j++] = A[i] + 32;
if (islower(A[i]))
C[j++] = A[i] - 32;
if (isdigit(A[i]))
D[k++] = A[i] - 48;
}
}
运行了下,感觉没有问题!!
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void main ()
{
void No1(char A[], int B[]);
void No2(char A[], char C[], int D[]);
char A[99], C[99];
int B[4], D[99];
printf("请输入你想要作用的语句:");
gets(A);
No1(A, B);
No2(A, C, D);
printf("语句中字母数、数字数、空格数、标点数分别是:\n");
int i = 0;
for (i = 0; i < 4; i++)
printf("%4d", B[i]);
printf("\n语句中字母经过大小写转化为:");
for (i = 0; i<strlen(C); i++)
printf("%s", C[i]);
printf("\n语句中的数字为:");
for (i = 0; i < 99; i++)
printf("%d", D[i]);
}
void No1(char A[], int B[])
{
int i = 0;
for (; i < strlen(A); i++)
{
if (isalpha(A[i]))
B[0]++;
if (isdigit(A[i]))
B[1]++;
if (isspace(A[i]))
B[2]++;
if (ispunct(A[i]))
B[3]++;
}
}
void No2(char A[], char C[], int D[])
{
int i = 0, j = 0, k = 0;
for (; i < strlen(A); i++)
{
if (isupper(A[i]))
C[j++] = A[i] + 32;
if (islower(A[i]))
C[j++] = A[i] - 32;
if (isdigit(A[i]))
D[k++] = A[i] - 48;
}
}
运行结果: