您的位置:首页 > 编程语言 > C语言/C++

C语言字符串数组的例题

2013-03-12 18:56 381 查看
1

(1)从键盘上接收一个字符串,保存到一个字符数组中。

(2)然后从后面往前倒序输出这个字符串。例如:接收字符串为:“Jone”,则输出结果为“enoJ”。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char a[10];

int i;

int len = strlen(a);

memset(a, '\0', 10);

printf("输入的字符串为:\n");

//强制刷新

fflush(stdout);

//从键盘上接收一个字符串

gets(a);

for (i = len-1; i >= 0; i--) {

printf("%c",a[i]);

}

return EXIT_SUCCESS;

}

2

分别使用char数组和string类对象实现下面任务:

编写一个程序,首先要求用户输入姓,然后输入名,然后使用一个逗号和空格将姓和名组合在一起,并存储和显示组合好的结果和结果的长度。下面是程序运行时的情形:

Enter your first name: Li

Enter your last name: Ming

The name is: Li, Ming

The length of name: 8

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

//定义数组

char first[10];

char last[10];

//提前输出提示

printf("Enter your first name:");

//强制刷新

fflush(stdout);

gets(first);

printf("\n");

printf("Enter your last name:");

//强制刷新

fflush(stdout);

gets(last);

printf("\n");

//连接逗号

strcat(first, ", ");

printf("The name is :%s\n", strcat(first, last));

printf("The length of name :%d\n", strlen(first));
//求长度

return EXIT_SUCCESS;

}

3

从键盘上接收一个字符串,并统计其中字符的个数。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char arr[20];

printf("请输入一个字符串:\n");

//强制刷新

fflush(stdout);

//从键盘上接收字符串

gets(arr);

printf("其中字符的个数:%d",strlen(arr));

return EXIT_SUCCESS;

}

4

按照下面要求完成程序:

(1)定义一个char数组address,使用memset对它进行初始化。

(2)从键盘上接收一个字符串,保存到address中。

(3)再从键盘上接收一个字符保存到字符变量findChar中。

(4)要求从address中查找是否有字符findChar,输出找到的次数。例如:字符串为“ABCDEDS”,如果要查找字符‘D’,则应该输出2;如果要查找字符‘X’,则需要输出没有找到。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

//定义变量

int i,sum=0;

char address[20];//定义字符串

memset(address, '\0', 20);

printf("请输入一个字符串:\n");

//强制刷新

fflush(stdout);

//从键盘上接收字符串

gets(address);

//定义字符

char findChar;

printf("请再输入一个字符:\n");

//强制刷新

fflush(stdout);

scanf("%c", &findChar);

for (i = 0; i < strlen(address); i++) {

if (address[i] == findChar) {

sum++;

}

}

if (sum!= 0) {

printf("查找到了:%d", sum);

} else {

printf("没有找到!");

}

return EXIT_SUCCESS;

}

5

(1)定义一个包含有5个元素的int数组,并且初始化为0;

(2)从键盘上接收5个整数,依次保存到int数组中。

(3)要求你想办法,把数组的元素值倒序过来存储。例如:从键盘上接收数据后,数组元素存储的顺序依次为:

10 20 30
22 35

  则在做完操作后使数组元素存储的顺序应该为:

35 22 30
20 10

(4)完成倒序存储操作后,输出数组所有元素的值。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

int arr[5] = { 0 };

int i;

printf("请输入5个整数:\n");

//强制刷新

fflush(stdout);

for (i = 0; i < 5; i++) {

scanf("%d", &arr[i]);

printf("%d,", arr[i]);

}

printf("\n");

for (i = 4; i >= 0; i--) {

printf("%d,", arr[i]);

}

return EXIT_SUCCESS;

}

6

从键盘输入一行字符串,再输入一个字符,判断后输入的字符在前面字符串中出现的次数,若没有则输出此字符不存在。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

int i,sum=0;

char arr[10];

//把字符串清0

memset(arr, '\0', 10);

printf("请输入一个字符串:\n");

//强制刷新

fflush(stdout);

//从键盘上接收字符串

gets(arr);

char ch;

printf("请再输入一个字符:\n");

//强制刷新

fflush(stdout);

scanf("%c", &ch);

for (i = 0; i < strlen(arr); i++) {

if (address[i] == ch) {

sum++;

}

}

if (sum!= 0) {

printf("查找到了:%d", sum);

} else {

printf("没有找到!");

}

return EXIT_SUCCESS;

}

7

输入一行字符,统计其中单词的个数,输入的单词之间用空格隔开。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

//定义字符

char arr[40];

int i=0, number=0,temp=0;

printf("请输入一行字符:\n");

fflush(stdout);

gets(arr);

for (i = 0;i < strlen(arr);i++) {

if (arr[i] == ' ') {

temp = 0;

} else if(temp == 0) {

number++;

temp = 1;

}

}

printf("单词的个数是:%d\n", number);

return EXIT_SUCCESS;

}

8

编写一个程序,将字符数组上s2中的全部字符复制到字符数组s1中。

(1) 方法一:应用strcpy函数。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char s1[10]={"Liu"};

char s2[10]={"guijun"};

printf("%s",strcpy(s1,s2));

return EXIT_SUCCESS;

}

(2) 方法二:不应用strcpy函数。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char s1[10];

int i;

memset(s1, '\0', 10);

char s2[10] = { "guijun" };

for (i = 0; i < strlen(s2); i++) {

s1[i] = s2[i];

}

puts(s1);

return EXIT_SUCCESS;

}

9

编写一程序,将两个字符串连接起来,s1接在s2的后面。

(1) 方法一:应用strcat函数。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char s1[10]={"Liu"};

char s2[10]={"guijun"};

printf("%s",strcat(s1,s2));

return EXIT_SUCCESS;

}

(2) 方法二:不应用strcat函数。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char s1[10] = { "Liu" };

char s2[10] = { "guijun" };

printf("%s%s",s1,s2);

return EXIT_SUCCESS;

}

10

应用二维数组数组输出棱形,(提示,*是字符)



***

*****

***



#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char arr[5][5] = { { ' ', ' ', '*', ' ', ' ' }, { ' ', '*', '*', '*', ' ' },

{ '*', '*', '*', '*', '*' }, { ' ', '*', '*', '*', ' ' }, { ' ',

' ', '*', ' ', ' ' } };

int i, j;

for (i = 0; i < 5; i++) {

for (j = 0; j < 5; j++) {

putchar(arr[i][j]);

}

printf("\n");

}

return EXIT_SUCCESS;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: