c语言程序题目~

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:40:41
3.设计程序,输入一个字符串,通过调用一个返回值为指针的函数char *strupr(char *s),将字符串中所有小写字母全部变成大写字母,其余字符不变。函数返回值即是处理后的字符串的起始地址。

4.设计程序,输入一个字符串,通过调用一个有返回值的函数int count(char *s),统计字符串中出现空白字符的次数。例如:串“a b c”中空白字符有2个,则函数返回值为2。

5.设计程序,输入两个字符串,通过调用自编函数char *copy(char *s1, char *s2) ,实现将串s2中的所有非空白字符复制到串s1中。函数返回值是串s1的起始地址。例如:若s2指向串“a b c abc”,复制后,则s1指向串“abcabc”。

6.输入10个整数给一个整型数组,将其中最小的数与最前数对换,将最大的数与最后数对换,写3个函数,分别实现3个功能:(1)输入10个整数;(2)输出10个整数;(3)找出位置并交换。(可以使用指针法,也可以使用下标法)

main( )
{
int number[10];
input(number); /*调用输入函数输入number数组的元素*/
max_min_value(number); /*调用对换函数处理number数组*/
output(number); /*调用输出函数输出number数组中元素的值*/
}
input(int number[10]) /*此函数向首地址为number的数组输入10个元素*/
{
int i;
printf("Input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",&number[i]);
}
max_min_value(int array[10]) /*此函数交换array数组的对应元素*/
{
int *max,*min,*p,*array_end;
array_end=array+10;
max=min=array; /*max、min初值为数组首地址*/
for(p=array+1;p<array_end;p++)
if(*p>*max) max=p; /*max中存放最大数的地址*/
else if(*p<*min) min=p; /*min中存放最小数的地址*/
*p=array[0];array[0]=*min;*min=*p; /*最小数与第一个数交换*/
*p=array[9];array[9]=*max;*max=*p; /*最大数与最后一个数交换*/
return;
}
output(int array[10]) /*此函数输出array数组的10个元素*/
{
int *p;
printf("Now,they are:");
for(p=array;p<=array+9;p++)
printf("%d ",*