急求解答。。。。简单的题目。。。。。。

tokyshow 2006-04-09 03:34:49
用C语言中的函数和指针编写
1:要求输入5个字符串,然后处理并输出其中最大的字符串,如果最大的有两个,那就输出两个,依次推
2:输入n个单精度数,存入一维数组,n<=20,然后逆序输出
3:3*5的矩阵,求最大、最小和平均值

小弟刚学C,请大家多多指教
谢谢!
...全文
542 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhu_doc 2006-04-16
  • 打赏
  • 举报
回复
上面的朋友都是很热心的,但是对于刚刚开始学c语言的人还是不要直接复制,粘贴了,这样容易养成依赖的陋习。。。。。。 个人看法,还是自己花你能搞定的时间来搞定这几个基础的程序。
yuanchuang 2006-04-16
  • 打赏
  • 举报
回复
顶一下
GaoXX 2006-04-16
  • 打赏
  • 举报
回复
顶一下
Acoolice 2006-04-10
  • 打赏
  • 举报
回复
up
qingyuan18 2006-04-10
  • 打赏
  • 举报
回复
作业?
吃狼的豆腐 2006-04-10
  • 打赏
  • 举报
回复
这个。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

我疯了
water_mys 2006-04-09
  • 打赏
  • 举报
回复
我也是C的初学者,程序未经过编译:)
water_mys 2006-04-09
  • 打赏
  • 举报
回复
1:要求输入5个字符串,然后处理并输出其中最大的字符串,如果最大的有两个,那就输出两个,依次推
# include <stdio.h>
# include <string.h>
# define N 5

main()
{
char *str[5];
int i,j;
int len = 0;
int maxLen = 0;
int maxCount = 0;
int maxFlag[5] = {0,0,0,0,0};

for(i=0; i<N; i++)
{
printf("请输入第%d个字符串:", i+1);
scanf("%s",&str[i]);

len = strlen(*str[i]);

if(len > maxLen)
{
maxLen = len;
maxCount = 1;
maxFlag[maxCount-1] = i;
}
else if(len == maxLen)
{
maxCount++;
maxFlag[maxCount-1] = i;
}
}

for(j=0; j<N; j++)
{
if(maxFlag[j] > 0)
{
printf("最长的字符串为:%s\n", *str[j]);
}
}
}

2:输入n个单精度数,存入一维数组,n<=20,然后逆序输出
# include <stdio.h>
# define N 5

main()
{
float *flo[N];
int i,j;
int maxInput = 0;

printf("请输入你要测试的单精度数的数量(最多%d个):", N);
scanf("%d", maxInput);

for(i=0; i<maxInput; i++)
{
printf("请输入第%d个单精度数:", i+1);
scanf("%f", &flo[i]);
}

for(; maxInput>=0; maxInput--)
{
printf("%f\n", *flo[maxInput]);
}
}

3:3*5的矩阵,求最大、最小和平均值
# include <stdio.h>

main()
{
//这个2维数组的初始化只是举个例子
int a[3][5] = {{2,4,7,4,3},{7,9,4,3,7},{8,5,4,7,1}};
int i,j;
int max,min;
int total = 0;
float avg;

for(i=0; i<3; i++)
{
for(j=0; j<5; j++)
{
total += a[i][j];

if(a[i][j] > max)
{
max = a[i][j];
}

if(a[i][j] < min)
{
min = a[i][j];
}
}
}

avg = total/15;

pritf("最大值为%s\n", max);
pritf("最小值为%s\n", min);
pritf("平均为%5.2f", avg);
}
jixingzhong 2006-04-09
  • 打赏
  • 举报
回复
直接求代码, 转 新手乐园
jixingzhong 2006-04-09
  • 打赏
  • 举报
回复
2:输入n个单精度数,存入一维数组,n<=20,然后逆序输出

void main()
{
float num[20];
int n;

for(n=0; n<20; n++)
scanf("%f",&num[n]);

n--;
for(;n>=0;n--)
printf("%f",num[n]);
}
ares0906 2006-04-09
  • 打赏
  • 举报
回复
哎,论坛变成小学生的作业求助区了。
yuanchuang 2006-04-09
  • 打赏
  • 举报
回复
void f(double **p, double *max, double *min, double *average)
{
int i, j;
*max = *min = a[0][0];
*average[0] = 0;
for ( i = 0; i < 3; ++i)
{
for (j = 0; j < 5; ++j)
{
*max = (*max > p[i][j])?*max:p[i][j];
*min = (*min < p[i][j])?*min:p[i][j];
*average += p[i][j];
}
}
*average /= 15;
}

混分而已,何苦呢?哎
yleiou 2006-04-09
  • 打赏
  • 举报
回复
void SortValue() //
{
char *p[5];
int i = 0;
while (i <5)
{
p[i] = new char[20];
p[i][19] = 0;
i++;
}
i = 0;
while (i < 5)
{
cout<<"请输入第"<<i<<"个字符串"<<endl;
cin>>p[i];
char *Temp = p[i];
char a[10];
for (int j = i -1; j >=0; j--)
{
if (strcmp(Temp,p[j]) >= 0)
{
strcpy(a,Temp);
strcpy(Temp,p[j]);
strcpy(p[j],a);
}
Temp = p[j];
}
i++;
}
cout<<"输入最大字符串"<<endl;
i = 0;
while(i < 5)
{
if (strcmp(p[0],p[i]) == 0) cout<<p[i]<<endl;
i++;
}
i = 0;
while(i < 5)
{
delete p[i];
i++;
}
}
yuanchuang 2006-04-09
  • 打赏
  • 举报
回复
上一个for (len = 0; i = 0; i < 5; ++i)改成for (len = 0, i = 0; i < 5; ++i)

void f()
{
int i;
float *p = (float *)malloc(sizeof(float) * 20);
for (i = 0; i < 20; ++i)
std::cin >> p[i];
for (i = 19; i >= 0; --i)
std::cout << p[i];
}
yuanchuang 2006-04-09
  • 打赏
  • 举报
回复
void f(char *p[])
{
int a[5], i, len;
for (len = 0; i = 0; i < 5; ++i)
{
a[i] = strlen(p[i]);
len = (len > a[i])?len:a[i];
}
for (i = 0; i < 5; ++i)
{
if (a[i] == len)
std::cout << p[i];
}
}
tokyshow 2006-04-09
  • 打赏
  • 举报
回复
字符串大小是指它的长度
herryhuang 2006-04-09
  • 打赏
  • 举报
回复
1.

#include <stdio.h>
#include <string.h>
#define N 5
#define MAX_LENGTH 256

int main()
{
char str[N][MAX_LENGTH + 1];
int i;
int j = 1;
int k = 0;
int cmpRet;

for(i = 0; i < N; i++)
{
printf("Input string %d:", i+ 1);
gets(str[i]);
}

for(i = 1; i < N; i++)
{
cmpRet = strcmp(str[i], str[k]);
if (cmpRet > 0)
{
k = i;
j = 1;
}
else if (cmpRet == 0)
j++;
}
for (i = 0; i < j; i++)
{
printf("%s\n", str[k]);
}
return 0;
}
michael_g_hu 2006-04-09
  • 打赏
  • 举报
回复
不知道你说得字符串是得大小依据是什么,据个例子?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧