
#include<stdio.h>
int s1,s2,s3
int vs(int a,int b,int c)
{
int v
v=a*b*c//*******************************1
s1=a*b
s2=b*c//*******************************2
s3=a*c
return v
}
int main()
{
int v,l,w,h
printf("\ninput length,width and height:")
scanf("%d%d%d",&l,&w,&h)//*******************************3
v=vs(l,w,h)//*******************************4
printf("v=%ds1=%ds2=%ds3=%d\n",v,s1,s2,s3)
}
第二题:
#include <stdio.h>
int main()
{
int age,y0,y1,m0,m1,d0,d1
printf("输入生日日期(年,月,日)\n")
scanf("%d,%d,%d",&y0,&m0,&d0)//******************1
printf("输入当前日期(年,月,日)\n")
scanf("%d,%d,%d",&y1,&m1,&d1)
age=y1-y0
if(m0 >m1)age-- //****************************2
if((m0 == m1)&&(d0>d1))age-- //****************3
printf("age=%3d",age)
return 0
}
后面的选择题:
1.C
2.B
3.D
4.D
5.D
全部都用程序测试通过。
楼主参考。
祝你好运。
最简单的方法:调用STL的Algorithm的max_element方法。
template <class ForwardIterator>
ForwardIterator max_element ( ForwardIterator first, ForwardIterator last )
template <class ForwardIterator, class Compare>
ForwardIterator max_element ( ForwardIterator first, ForwardIterator last,
Compare comp )
实现方法:
template <class ForwardIterator>
ForwardIterator max_element ( ForwardIterator first, ForwardIterator last )
{
ForwardIterator largest = first
if (first==last) return last
while (++first!=last)
if (*largest<*first)// or: if (comp(*largest,*lowest)) for the comp version
largest=first
return largest
}
你只要实例化模板就可以了。
int *findmax(int *array,int size,int *index) {if (size <= 0) return NULL
int max = array[0]
*index = 0
for (int i = 1i <sizei++) {
if (array[i] >max) { // 如果大小相同的返回第一个则这么写,若返回最后一个则用>=
*index = i
max = array[i]
}
}
return &array[*index]
}
这个函数不应该这样定义,应该用返回值返回下标,不用返回指针,根据下标就能得到数组的元素了。既返回指针又返回下标相当于返回了多余的东西。函数设计的要紧凑不要做无谓的事情。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)