编写一个程序,接收用户从键盘输入的字符,当用户输入回车时表示确认输入,要求数字字符保存到数组a中,字母保存到数组C中,统计这2个数组各输入多少个元素,并把这2个数组分别输出。
时间: 2023-03-25 18:04:26 浏览: 101
好的,这是一个关于编程的问题。以下是程序的代码:
#include <stdio.h>
int main() {
char c;
int num_count = , char_count = ;
char a[100], C[100];
printf("请输入字符,按回车键确认输入:\n");
while ((c = getchar()) != '\n') {
if (c >= '' && c <= '9') {
a[num_count++] = c;
} else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
C[char_count++] = c;
}
}
printf("数字数组a中输入了%d个元素,分别是:", num_count);
for (int i = ; i < num_count; i++) {
printf("%c ", a[i]);
}
printf("\n");
printf("字母数组C中输入了%d个元素,分别是:", char_count);
for (int i = ; i < char_count; i++) {
printf("%c ", C[i]);
}
printf("\n");
return ;
}
相关问题
编写一个c语言程序,编写一个函数,接收用户从键盘输入的字符,当用户按下回车时表示结束输入,统计用户输入了多少字符(不包括回车符),用数组来存放字符串
下面是实现要求的代码:
```
#include <stdio.h>
int countChars() {
char str[100]; // 定义一个数组来存放字符串,长度为100
int count = 0;
char c = getchar(); // 从输入中读取一个字符
while (c != '\n') { // 如果不是回车符,就继续读取
str[count] = c; // 将字符存入数组中
count++; // 字符数加1
c = getchar(); // 继续读取下一个字符
}
str[count] = '\0'; // 在字符串末尾添加 '\0' 表示字符串结束
printf("输入的字符串为:%s\n", str); // 输出输入的字符串
return count; // 返回字符数
}
int main() {
int n = countChars(); // 统计字符数
printf("输入的字符数为:%d\n", n); // 输出字符数
return 0;
}
```
在函数 countChars() 中,使用一个 while 循环来读取用户输入的字符,并将字符存入数组中,同时统计字符数。在读取完成后,在字符串末尾添加 '\0' 表示字符串结束,并输出输入的字符串。最后返回字符数。在主函数中,调用函数 countChars() 来统计字符数,并输出结果。
编写一个java程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。 【输入形式】从键盘输入一个字符串,以回车结束输入。要求程序可以处理含有空格的字符串。 【输出形式】程序接收此字符串,然后将其按照字符ASCII码值从小到大的顺序进行排序,并删除重复的字符输出。如果字符串为空,输出也应该为空。 【样例输入】badacgegfacb 【样例输出】abcdefg 【样例说明】输入badacgegfacb,然后排序、删除重复字符得到abcdefg。
好的,这是一个字符串排序并删除重复字符的问题,我来编写一个Java程序来解决它:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] chars = str.toCharArray();
Arrays.sort(chars);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
if (i == 0 || chars[i] != chars[i - 1]) {
sb.append(chars[i]);
}
}
System.out.println(sb.toString());
}
}
```
这个程序中,我们首先使用Scanner从控制台输入一个字符串,然后将其转换为字符数组。接着,我们使用Arrays.sort函数按照字符的ASCII码值从小到大对字符数组进行排序。最后,我们使用StringBuilder来构造一个新的字符串,遍历排好序的字符数组,如果当前字符与前一个字符不同,就将其添加到StringBuilder中,这样就实现了删除重复字符的功能。最终,我们输出StringBuilder中的字符串即可。
运行这个程序,输入badacgegfacb,得到的输出是:
```
abcdefg
```
说明输入字符串经过排序和去重后得到了abcdefg。
阅读全文