/*
定义char str[2][20],从键盘输入两个字符
串保存在此数组中,求这两个字符串中的最大字符
*/
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[2][20];
int i, j;
char max_c;
for(i = 0; i < 2; i++){
scanf("%s", str[i]); // str[i] == char(*)[20]
}
for(i = 0; i < 2; i++){
printf("%s ", str[i]);
}
printf("\n");
max_c = str[0][0];
for(i = 0; i < 2; i++){
for(j = 0; str[i][j] != '\0'; j++){
if(str[i][j] > max_c ) {
max_c = str[i][j];
}
}
}
printf("%c\n", max_c);
return 0;
}
/*
dawxd adaz
dawxd adaz
z
*/<pre name="code" class="cpp">
/*
自己编写程序实现void itoa(int x, char *str)(将数字x,
转换为字符串并保存到str中,即如:54639 转成‚54639‛)
*/
#include <stdio.h>
#include <string.h>
void itoa(int x, char *str)
{
// char str[20];
int i=0, j;
char str_l[20];
do{
str[i] = x%10 + '0';
i++;
}while( (x = x/10) != 0 );
str[i] = '\0';
str_l[i] = str[i];
for(--i, j = 0; i >= 0 ; i--, j++ ){
str_l[j] = str[i];
}
strcpy(str, str_l);
printf("%s\n", str);
}
int main(void)
{
int n;
char str[20];
scanf("%d", &n);
itoa(n, str);
return 0;
}
/*
akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./2
785511
785511
*/<pre name="code" class="cpp">
/*
统计子串substr在源串src中出现的次数。
源串及子串数据从命令行参数获取。
*/
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
char *retp, *begin;
int count = 0;
int substrlen = 0;
retp = strstr(argv[1], argv[2]);
if(argc != 3){
printf("Usage:./a.out substr src\n");
return 0;
}
if(argv[2][0] == '\0'){
printf("count = 0\n");
return 0;
}
for(begin = argv[1], substrlen = strlen(argv[2]); (retp = strstr(begin, argv[2]));
begin = retp + substrlen ){
count++;
}
printf("count:%d\n", count);
return 0;
}
/*
akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./4 adadadad ''
count = 0
akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./4 adadadad '' a
Usage:./a.out substr src
akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./4 adadadad ad
count:4
*/<pre name="code" class="cpp">
/*
若有字符串http://www.google.cn/search?complete=1&hl=zh-CN&ie=GB2312&q=linux&meta=
用于进行数据搜索,使用库函数分别解析出key与value数据。程序运行后显示:
key = complete value = 1
key = hl value = zh-CN
…
*/
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "http://www.google.cn/search?complete=1&hl=zh-CN&ie=GB2312&q=linux&meta=";
char *value, *begin, *key;
puts(str);
begin = strchr(str, '?') + 1;
for(; (key = strtok(begin, "&")); begin = NULL ){
key = strtok_r(key, "=", &value);
if( !key ){ //(key == 0)
break;
}
printf("key:%s value:%s\n", key, value);
}
return 0;
}
/*
akaedu@akaedu-G41MT-D3:~/lin/722_str$ ./2
http://www.google.cn/search?complete=1&hl=zh-CN&ie=GB2312&q=linux&meta=
key:complete value:1
key:hl value:zh-CN
key:ie value:GB2312
key:q value:linux
key:meta value:
*/
字符串练习题一
最新推荐文章于 2024-05-22 22:37:26 发布