C语言题 请牛人解!!急!!

第五套试题
一、程序修改考试题(8分)
给定程序中函数fun的功能是: 将从键盘上输入的每个单词的第一个字母转换为大写字母, 输入时各单词必须用空格隔开,用'.'结束输入。请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动 main 函数, 不得增行或删行,也不得更改程序的结构!

#include
int fun(char *c,int status)
{
/***********found**********/
if (c==' ') return 1;
else
{
if(status && *c <= 'z' && *c >= 'a')
/***********found**********/
c += 'A' - 'a';
return 0;
}
}
main()
{
int flag=1;
char ch;
printf("请输入一字符串,用点号结束输入!\n") ;
do
{
ch=getchar();
flag=fun(&ch, flag);
putchar(ch);
}while(ch!='.');
printf("\n");
}
二、程序设计考试题(12分)
程序的功能是: 把20个随机数存入一个数组, 然后输出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
注意: 部分源程序在文件sh5_2.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。*/
#include
#include
#define VSIZE 20
int vector[VSIZE] ;
int fun(int list[],int size)
{//
int i,min=0;
_______________;
_______________;
_______________;
return min;
//
}
main()
{
int i;
for (i=0;i
{
vector[i]=rand();
printf("Vector[%d]=%6d\n",i,vector[i]);
}
i=fun(vector,VSIZE);
printf("\nMininum: Vector[%d]=%6d\n",i,vector[i]);
}

第1个回答  推荐于2016-09-01
已调试过
一。
#include<stdio.h>
int fun(char *c,int status)
{
/***********found**********/
if (*c==' ') return 1;
else
{
if(status && *c <= 'z' && *c >= 'a')
/***********found**********/
*c += 'A' - 'a';
return 0;
}
}
二。
#include<stdio.h>
#include<math.h>
int fun(int list[],int size)
{//
int i,min=0;
for(i=0;i<size;i++)
if(list[i]<list[min])
min=i;

return min;
//
}
main()中for (i=0;i<VSIZE;i++)本回答被提问者采纳
第2个回答  2008-12-11
1
#include <stdio.h>
#include<stdlib.h>
int fun(char *c,int status)
{
/***********found**********/
if (*c==' ') return 0;
else
{
if(status && *c <= 'z' && *c >= 'a')
/***********found**********/
*c += 'A' - 'a';
return 1;
}
}
main()
{
int flag=1;
char ch;
printf("请输入一字符串,用点号结束输入!\n") ;
do
{
ch=getchar();
flag=fun(&ch, flag);
putchar(ch);
}while(ch!='.');
printf("\n");
}

2
int fun(int list[],int size)
{//
int i,min=0;
for(i=0;i<size;i++)
if(list[i]<list[min])
min=i;

return min;
//
}
第3个回答  2008-12-11
#include <stdio.h>
int fun(char *c,int status)
{
/***********found**********/
if (c==' ') return 1;
else
{
if(status && *c <= 'z' && *c >= 'a')
/***********found**********/
c += 'A' - 'a';
}
return 0;
}

2.
for(i = 0; i < size; i++)
if(list[min] > list[i])
min = i;
相似回答