C语言编写函数,显示字母c前后的n个字符,中间用一个空格隔开,大小写不变。在主函数中输入字符c和正整数n。例如: 输入: D 2 显示:BC EF 输入:d 2 显示:bc ef 字母表看作首尾相接的。n可能会大于26。
时间: 2024-05-08 15:16:55 浏览: 34
```c
#include <stdio.h>
void showChar(char c, int n) {
// 将字母转换为大写,方便后续处理
if (c >= 'a' && c <= 'z') {
c -= 32;
}
// 计算前面 n 个字符
for (int i = 1; i <= n; i++) {
char ch = c - i;
if (ch < 'A') {
ch += 26;
}
printf("%c ", ch);
}
// 输出 c
printf("%c ", c);
// 计算后面 n 个字符
for (int i = 1; i <= n; i++) {
char ch = c + i;
if (ch > 'Z') {
ch -= 26;
}
printf("%c ", ch);
}
}
int main() {
char c;
int n;
scanf("%c %d", &c, &n);
showChar(c, n);
return 0;
}
```
相关问题
编写函数,显示字母c前后的n个字符,中间用一个空格隔开,大小写不变。在主函数中输入字符c和正整数n。用c语言
实现。
```c
#include <stdio.h>
void showChars(char c, int n) {
int i;
for (i = -n; i <= n; i++) {
if (i == 0) {
printf(" ");
} else {
printf("%c", c + i);
}
}
}
int main() {
char c;
int n;
printf("Enter a character and a positive integer: ");
scanf("%c%d", &c, &n);
printf("The characters are: ");
showChars(c, n);
printf("\n");
return 0;
}
```
用C语言编写一个程序,统计一个文件中大小写字母、数字、空格、换行及其他字符的个数
以下是一个简单的C语言程序,可以统计一个文件中大小写字母、数字、空格、换行及其他字符的个数:
```c
#include <stdio.h>
int main()
{
char filename[100];
FILE *fp;
char ch;
int uppercase = 0, lowercase = 0, digits = 0, spaces = 0, others = 0, newlines = 0;
printf("Enter the filename: ");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL)
{
printf("Error opening the file\n");
return 0;
}
while ((ch = fgetc(fp)) != EOF)
{
if (ch >= 'A' && ch <= 'Z')
uppercase++;
else if (ch >= 'a' && ch <= 'z')
lowercase++;
else if (ch >= '0' && ch <= '9')
digits++;
else if (ch == ' ')
spaces++;
else if (ch == '\n')
newlines++;
else
others++;
}
printf("Uppercase letters: %d\n", uppercase);
printf("Lowercase letters: %d\n", lowercase);
printf("Digits: %d\n", digits);
printf("Spaces: %d\n", spaces);
printf("Newlines: %d\n", newlines);
printf("Other characters: %d\n", others);
fclose(fp);
return 0;
}
```
程序首先要求用户输入文件名,然后打开该文件并逐个字符读取,统计各种字符的个数。程序使用了 `fgetc()` 函数读取每个字符,并使用 `if` 语句判断字符类型。最后,程序输出各种字符的个数,并关闭文件。