怎么换成从键盘输入的方式
char *str[] = {{"ftp"}, {"qq"}, {"msn"}, {"internet"}, {"web"}, {"google"}, {"bbs"}, {"mp3"},{"blog"}, {"ibm"}};
int FindNoVowel(char *str[], int num,char res[ ][20]){
char vowels[] = {'a', 'e', 'i', 'o', 'u', '\0'};
int i, j, k, flag, index;
char buffer[20];
index = 0;
for(i = 0; i < num; i++){
flag = 0;
for(k = 0; k < (int)strlen(vowels); k++){
for(j = 0; str[i][j]; j++){
if(vowels[k] == str[i][j]){
flag = 1;
break;
}
}
if(flag == 1) break;
}
if(flag == 0){
strcpy(res[index], str[i]);
index++;
}
}
for(i = 1; i < index; i++){
for(k = i - 1, j = i; j < index; j++){
if(strcmp(res[k], res[j]) > 0){
k = j;
}
}
if(k != i - 1){
strcpy(buffer, res[k]);
strcpy(res[k], res[i - 1]);
strcpy(res[i - 1], buffer);
}
}
for(i = 0; i < index; i++){
printf("%s ", res[i]);
}
printf("\n");
return index;
}
您可以使用 scanf 来从键盘输入字符串,然后将这些字符串存储到字符串数组中。例如:
char *str[10]; // 字符串数组,最多可存储 10 个字符串
// 使用循环来从键盘输入字符串
for (int i = 0; i < 10; i++) {
printf("请输入字符串 %d: ", i + 1);
scanf("%s", str[i]);
}
这样,您就可以从键盘输入字符串并将它们存储到字符串数组中了。
请注意,字符串数组中的每个字符串都应该足够大,以便存储从键盘输入的字符串。
啥东西你要输入?
望采纳
要改为从键盘输入的方式,你可以将代码中的str数组改为一个单独的字符串变量,然后使用scanf函数来从键盘输入该字符串。例如:
#include<stdio.h>
#include<string.h>
int FindNoVowel(char *str, char res[ ][20]){
char vowels[] = {'a', 'e', 'i', 'o', 'u', '\0'};
int i, j, k, flag, index;
char buffer[20];
index = 0;
// 输入字符串
printf("请输入字符串:");
scanf("%s", str);
for(i = 0; i < num; i++){
flag = 0;
for(k = 0; k < (int)strlen(vowels); k++){
for(j = 0; str[i][j]; j++){
if(vowels[k] == str[i][j]){
flag = 1;
break;
}
}
if(flag == 1) break;
}
if(flag == 0){
strcpy(res[index], str[i]);
index++;
}
}
for(i = 1; i < index; i++){
for(k = i - 1, j = i; j < index; j++){
if(strcmp(res[k], res[j]) > 0){
k = j;
}
}
if(k != i - 1){
strcpy(buffer, res[k]);
strcpy(res[k], res[i - 1]);
strcpy(res[i - 1], buffer);
}
}
for(i = 0; i < index; i++){
printf("%s ", res[i]);
}
printf("\n");
return index;
}
自己写出来了,需要通过中间变量。定义二维数组来接收输入,并赋值给指针数组。