c语言 求解答 1,定义一个字符串,用指针的方法实现,输出第m个元素,并输出其地址。 要求,m任意输入

2,
定义一个10个元素的一维数组,书写三个子函数,max实现最大值与第一个元素交换病输出,同时返回最大值,min实现最小值与最后一个元素交换病输出,同时返回最小值,aver实现求平均值并返回。
要求主函数调用

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char as[1000];
    gets(as);
    int m;
    scanf("%d",&m);
    char *p=as;
    printf("%c",*(p+m-1));
    return 0;
}

追问

哥啊,还有一道题哩,求助攻

追答

源代码超过字数范围 我上传到了附件。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-26
第一题:
#include <string.h>

int main(int argc, char* argv[])
{
char findstr[150] = {0};
printf("请输入字符串:");
gets(findstr);
int findnum;
printf("请输入序号:");
scanf("%d",&findnum);

findnum--;
if (findnum >= strlen(findstr) || findnum < 0)
{
printf("越界!\r\n");
fflush(stdin);
getchar();
return 1;
}
else
{
printf("字符:%c,地址:%p\r\n",findstr[findnum],findstr+findnum);
}
printf("按任意键继续...");
fflush(stdin);
getchar();
return 0;
}

第二题:
#include <stdio.h>
#include <string.h>

int _max(int* iarray,int arrlen)
{
int maxval = iarray[0];
int maxpos = 0;
for(int i=0;i<arrlen;i++)
{
if (iarray[i]>maxval)
{
maxval = iarray[i];
maxpos = i;
}
}
iarray[maxpos] = iarray[maxpos] ^ iarray[0];
iarray[0] = iarray[0] ^ iarray[maxpos];
iarray[maxpos] = iarray[maxpos] ^ iarray[0];
printf("array:");
for(int i=0;i<10;i++)
{
printf("%d ",iarray[i]);
}
return iarray[0];
}
int _min(int* iarray,int arrlen)
{
int minval = iarray[0];
int minpos = 0;
for(int i=0;i<arrlen;i++)
{
if (iarray[i]<minval)
{
minval = iarray[i];
minpos = i;
}
}
iarray[minpos] = iarray[minpos] ^ iarray[arrlen-1];
iarray[arrlen-1]= iarray[arrlen-1] ^ iarray[minpos];
iarray[minpos] = iarray[minpos] ^ iarray[arrlen-1];
printf("array:");
for(int i=0;i<10;i++)
{
printf("%d ",iarray[i]);
}

return iarray[arrlen-1];
}
int _aver(int* iarray,int arrlen)
{
int sum = 0;
for(int i=0;i<arrlen;i++)
{
sum+=iarray[i];
}
return sum/10;
}
int main(int argc, char* argv[])
{
int iarray[10] = {5,1,2,3,4,5,6,7,8,9};
printf("max value:%d\r\n",_max(iarray,10));
printf("min value:%d\r\n",_min(iarray,10));
printf("average:%d\r\n",_aver(iarray,10));
printf("按任意键继续...");
fflush(stdin);
getchar();
return 0;
}

C语言,编写一个程序,输入若干字符串,找出其中最长的字符串并输出。要...
1、我们在main函数之前定义一个函数。2、然后我们就可以开始编写,并且先输入整个框架。3、然后我们可以用和循环开始进行输出。4、利用普通变量也可以使用指针变量来书写。5、在这里我们将以指针变量来书写。6、书写完毕后,我们将可回去main函数中进行直接调用。

c语言中如何借用指针输出字符串?
1、使用printf 函数进行输出,其使用的格式转换符为%s,如 char *str = "test";\/\/指针指向一个字符串 printf ("%s\\n", str);\/\/输出str指向的字符串 2、使用puts函数进行输出,如 char *str = "test";puts(str);\/\/输出str指向的字符串,会自动多输出一个换行 3、使用自定义函数进行输出,...

怎么定义一个字符串,并输入,输出
1、scanf\/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。格式化字符为%s。2、例如 char str[100];scanf(\\"%s\\

c语言,输入两个字符串,连接成一个字符串,并输出。用指针实现。
main(){char *p1,*p2;char a[20]="I am" ;char b[20]=" studen";p1 =a;p2 =b;while(*p1!='\\0')p1++;while(*p2!='\\0')p1++=*p2++;p1='\\0';printf("%s",a);} 编译通过没有问题!!!

如何用C语言编写一个输出字符串的程序?
一、题目大意为输出一个已知的字符串。解题思路:定义一个字符数组,并用“初始化列表”对其赋以初值 用循环逐个输出此字符数组中的字符 include <stdio.h> int main(){ char c[15]={'r',' ','i','g',' ','g',' ','h','t','u',};int i;for(i=0;i<15;i++)printf("A=%...

用c语言编写一个程序,将字符串computer赋给一个数组然后从第一个字母...
include <string.h> define MAX_LENGTH 32 int main(){ char str[MAX_LENGTH] = {0};char *pStr = (char*)&str;\/\/1. 将字符串computer赋给一个字符数组 strcpy(str, "computer");\/\/2. 然后从第一个字母开始间隔地输出该串 while(*pStr != '\\0' ){ printf("%c\\n", *pStr);p...

C语言实现在一个字符串中查找指定的字符,并输出指定字符在字符串中出现...
public static void main(String[]args){ System.out.println("请输入你要判断的字符串:");Scanner s=new Scanner(System.in);String str=s.nextLine();char[]ch=str.toCharArray();Arrays.sort(ch);\/\/对数组排序 char max='a';\/\/记录出现次数最多元素 int maxcount=0;\/\/记录最大出现次数 ...

C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其...
1.循环读取,直到为 '\\0' 时,则是字符串结尾。include <stdio.h>\/\/ 计算字符串str长度,并返回int lenstr(const char* str){ int i = -1; while (str[++i]); \/\/ while循环在 str[++i] 为 '\\0' 时结束 return i;}int main(){ char p[1000]; printf("input a...

在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中输入并打印字符串的编程方法如下:定义一个存放字符串的数组空间,比如为字符串分配100个数组空间。使用gets()函数获取键盘输入的字符串,输入格式为gets(定义的字符数组名)。使用puts()函数输出之前输入的字符串,输出格式为puts(定义的字符数组名)。运行程序后,成功实现输入字符串并原样在...

c语言 输入一个字符串,将该字符串中从第m个字符开始的全部字符复制到另...
cin >> m;\/\/按照提示:输入指定复制元素起始坐标 for (i = 0; b[i - 1] != '\\0'; i++)\/\/遍历从指定元素开始,到字符串结束停止 { b[i] = a[i + m -1 ];\/\/从a数组第m个元素开始依次复制给b数组 } cout << "第m个后面的字符串为:" << b << endl;\/\/输出b数组内容(...

相似回答