用指针编程,从键盘上输入多个字符串(每个串不超过5个字符且没有空格),用”*****”作为输入结束的标记。从所输入的若干字符串中,找出一个最大的串(按字典序),并输出该串。要求串的输入以及最大串的查找通过调用编写的函数实现。输出行末无多余空格
#include<stdio.h>
int main()
{
void find(char* p,char *p1);
char str[6] = { '\0' }; char str1[6] = { '\0' }; char* p,*p1;
p = str; p1 = str1;
find(p,p1);
puts(str1);
return 0;
}
void find(char* p,char *p1)
{
while (strcmp(p,"*****")!=0)
{
char str[6];
if (strcmp(p, p1) < 0)
{
strcpy(p, p1);
}
strcpy(p1, p);
gets(str); p = str;
}
}
输入一个长度不大于30的字符串,将此字符串中从第m个字符开始的剩余全部字符复制成为另一个字符串,并将这个新字符串输出。要求用指针方法处理字符串。输出行末无多余空格
#include<stdio.h>
int main()
{
void copy(char* str,char *str2,int m);
char str[30], str2[30] = {'\0'};
int m;
gets(str);
scanf("%d", &m);
copy(str, str2, m);
printf("%s",str2 );
return 0;
}
void copy(char* str,char *str2,int m)
{
int num=0;
int i;
for (i = m-1; i < strlen(str); i++)
{
*str2 = str[i];
str2++;
}
}
编写一函数,求一个字符串的长度,要求用字符指针实现。在主函数中输入字符串,调用该函数输出其长度。输出行末无多余空格
#include<stdio.h>
int main()
{
int len(char* str);
char str[100];
gets(str);
printf("%d", len(str));
return 0;
}
int len(char* str)
{
int num=0;
while (*str != '\0')
{
num++;
str++;
}
return num;
}
请编写一个函数,函数参数为指针类型,功能为翻转一个字符串。即将“abcd”翻转为“dcba”.
#include<stdio.h>
int main()
{
void re(char* str);
char str[100] = { '\0' };
gets(str);
re(str);
printf("%s", str);
return 0;
}
void re(char* str)
{
int len = strlen(str);
int i;
char a;
for (i = 0; i <(len/2); i++)
{
a = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = a;
}
}在很久很久以前,有一群神秘的字符串,每当月圆之时,他们都会冒出一句奇怪的维题。猜猜我多长?编写一个函数,函数的参数为字符串类型,功能为求字符串的长度(不允许使用strlen函数)。在主函数中输入字符串,调用函数求字符串的长度并输出。
#include<stdio.h>
int main()
{
int len(char str[]);
char str[100];
gets(str);
printf("%d", len(str));
return 0;
}
int len(char str[])
{
int i = 0,num=0;
while (str[i] != '\0')
{
num++;
++i;
}
return num;
}
输入一个含10个元素的整型数组,请通过指针变量输出这个数组
输入:2 4 52 13 45 3 4 8 10 6
输出:2 4 52 13 45 3 4 8 10 6
输入描述
#include<stdio.h>
int main()
{
int a[10];
int i, j;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
int* b=a;
for (i = 0; i < 10; i++)
{
*b = a[i];
printf("%d ", *b);
}
return 0;
}
在很久很久以前,有一群神秘的字符串,每当月圆之时,他们都会冒出一句奇怪的话:"给我也整一个"。输入一个字符串a,将字符串a复制给字符串b,并输出字符串b。要求用指针的进行赋值操作。
#include<stdio.h>
int main()
{
void swap(char* a, char* b);
char *a, *b;
char str1[100], str2[100] = {'\0'};
a = str1, b = str2;
gets(str1);
swap(a, b);
printf("%s",b);
return 0;
}
void swap(char* a, char* b)
{
do
{
*b = *a;
*b++;
*a++;
} while (*a != '\0');
}
输入两个数,编写一个程序,调用一个函数,该函数交换两个数的值并输出。要求用指针作为函数的参数。
#include<stdio.h>
int main()
{
void swap(int* a, int* b);
int *a, *b;
int num1, num2;
a = &num1, b = &num2;
scanf("%d %d", &num1, &num2);
swap(a, b);
printf("%d %d", *a,*b);
return 0;
}
void swap(int* a, int* b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}