用c语言写一个程序:按顺序输入26个英文字母,若输入错误打印“错误”,若输入正确则循环
时间: 2024-05-24 20:12:01 浏览: 18
#include <stdio.h>
int main() {
char c;
int i;
for (i = 0; i < 26; i++) {
scanf("%c", &c);
if (c != 'A' + i) {
printf("错误\n");
break;
}
printf("%c\n", c);
}
return 0;
}
相关问题
4.编写程序:输入六个英文国家名称,并按字母顺序排列输出。C语言并且带有程序分析
以下是C语言的程序及程序分析:
```c
#include <stdio.h>
#include <string.h>
#define N 6 // 定义国家数量为6
int main() {
char country[N][20]; // 存储国家名称的二维字符数组
char temp[20]; // 临时存储变量
int i, j;
// 输入六个国家名称
for (i = 0; i < N; i++) {
printf("请输入第%d个国家名称:", i+1);
scanf("%s", country[i]);
}
// 冒泡排序,按字母顺序排列国家名称
for (i = 0; i < N - 1; i++) {
for (j = i + 1; j < N; j++) {
if (strcmp(country[i], country[j]) > 0) {
strcpy(temp, country[i]);
strcpy(country[i], country[j]);
strcpy(country[j], temp);
}
}
}
// 输出排序后的国家名称
printf("\n按字母顺序排列的国家名称为:\n");
for (i = 0; i < N; i++) {
printf("%s\n", country[i]);
}
return 0;
}
```
程序分析:
1. 定义国家数量为6,使用二维字符数组 `char country[N][20]` 存储国家名称,其中 `N` 表示国家数量,`20` 表示每个国家名称的最大长度为20个字符。
2. 使用 `for` 循环输入六个国家名称,使用 `scanf("%s", country[i])` 读取字符串输入并存储到 `country[i]` 中。
3. 使用冒泡排序算法,按字母顺序排列国家名称。冒泡排序算法是一种简单的排序算法,它通过不断地比较相邻的两个元素并交换它们的位置,从而将较小的元素逐步移动到数组的前端。具体实现方式为使用两个嵌套的循环,外层循环控制比较的轮数,内层循环控制每一轮比较的次数。在每一轮比较中,如果相邻的两个元素顺序不正确,就交换它们的位置。这里使用 `strcmp()` 函数比较两个字符串的大小关系,如果 `country[i]` 的字典序比 `country[j]` 大,则交换两个字符串的位置。
4. 最后使用 `for` 循环输出排列后的国家名称。
请用c语言编程:输入1几个人的英文(拼音也行)名字,然后将名字按字母顺序从小到大排列.
以下是用C语言编写的程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
int n;
printf("请输入人数:");
scanf("%d", &n);
char names[n][20];
printf("请输入名字:\n");
for (int i = 0; i < n; i++) {
scanf("%s", names[i]);
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(names[j], names[j + 1]) > 0) {
char temp[20];
strcpy(temp, names[j]);
strcpy(names[j], names[j + 1]);
strcpy(names[j + 1], temp);
}
}
}
printf("排序后的名字:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", names[i]);
}
return 0;
}
```
解释一下程序的流程:
1. 读入人数n,并定义一个n行20列的字符数组names作为存储名字的容器。
2. 通过循环读入n个名字,存储到names数组中。
3. 使用冒泡排序对names数组进行排序,排序结果从小到大。
4. 遍历排序后的names数组,依次输出排好序的名字。
希望这个回答对您有帮助,有其他问题欢迎继续提问!