1.从键盘输入一段字符(最多80个字符),分别统计出其中的字母、数字、空格和其他字符的个数,并将小写字母转变为大写字母输出。
2.从键盘输入n个整数(n<1000),存放在一个一维数组中,输出其中的完全数。
3.从键盘输入n个整数(n<1000),将这些数存放在一个一维数组中,求数列中所有数值的和及平均值,并从小到大输出所有偶数元素。
4.从键盘输入一段字符,将字符串首尾互换,并与原字符串相连接后输出。
1.从键盘输入一段字符(最多80个字符),分别统计出其中的字母、数字、空格和其他字符的个数,并将小写字母转变为大写字母输出。
2.从键盘输入n个整数(n<1000),存放在一个一维数组中,输出其中的完全数。
3.从键盘输入n个整数(n<1000),将这些数存放在一个一维数组中,求数列中所有数值的和及平均值,并从小到大输出所有偶数元素。
4.从键盘输入一段字符,将字符串首尾互换,并与原字符串相连接后输出。
1
#include <stdio.h>
#include <ctype.h>
#define N 81
int main()
{
char a[N];
int num_letters = 0, num_digits = 0, num_spaces = 0, num_others = 0;
fgets(a, N, stdin);
char *p = a;
while (*p)
{
if (isalpha(*p))
{
num_letters++;
if (islower(*p))
*p = toupper(*p);
}
else if (isdigit(*p))
num_digits++;
else if (*p == ' ')
num_spaces++;
else
num_others++;
p++;
}
printf("Number of Letters: %d\n", num_letters);
printf("Number of Digits: %d\n", num_digits);
printf("Number of Spaces: %d\n", num_spaces);
printf("Number of Other Characters: %d\n", num_others);
printf("%s\n", a);
return 0;
}
2
#include <stdio.h>
#include <math.h>
#define N 1000
int is_perfect_number(int x)
{
if (x < 2)
return 0;
int s = 1;
int n = (int)sqrt(x);
for (int i = 2; i <= n; i++)
{
if (x % i == 0)
{
s += i;
int j = x / i;
if (i != j)
s += j;
}
}
return s == x;
}
int main()
{
int a[N];
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
int count = 0;
for (int i = 0; i < n; i++)
{
if (is_perfect_number(a[i]))
{
printf("%d ", a[i]);
count++;
}
}
if (count == 0)
printf("There is no perfect number in the array.");
printf("\n");
return 0;
}
3
#include <stdio.h>
#define N 1000
int main()
{
int a[N];
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
int s = 0;
for (int i = 0; i < n; i++)
s += a[i];
printf("Sum: %d\n", s);
printf("Average: %.1f\n", (float)s / (float)n);
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (a[j] < a[i])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for (int i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
4
#include <stdio.h>
#include <string.h>
#define N 256
int main()
{
char s[N], t[N];
scanf("%s", s);
const char *p = s;
char *q = t;
while (*p)
*q++ = *p++;
while (--p >= s)
*q++ = *p;
*q = '\0';
printf("%s\n", t);
return 0;
}