1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2,一般三角形返回1,若不能构成三角形返回0c语言程序分析题及答案。
#include <stdio.h>
int  fun(int  a,int  b,int  c)
{
if(a+b〉c && b+c>a && a+c〉b)
      if(a==b && b==c )
return 3;
else if(a==b||b==c||a==c)
        return  2;
else return 1;
  }
  else  return  0;
}
void main()
{ 
int  a,b,c,shape;
  printf(”\nInput a,b,c:  "); 
scanf("%d%d%d",&a,&b,&c);
  printf(”\na=%d,  b=%d,  c=%d\n”,a,b,c);
  shape =fun(a,b,c);
  printf(”\n\nThe shape  :  %d\n”,shape);
2、编写一个程序,将两个变量的值交换例如变量a中的值原为 3b中的值原为8,程序运行后 a 中的值为8b中的值为3
#include <stdio.h〉
void fun(int *x,int y)
{
    int t;
t=*x;*x=*y;*y=t
}
void main()
{
    int a=3,b=8;
    printf("%d  %d\n”,a,b);
    fun(&a,b);
    printf(”%d  %d\n",a,b);
3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中.
  例如,输入的数为:55  12  34
输出结果应当是:a=55.0,b=34.0,c=12.0
#include 〈stdio.h>
void fun(float *p,float *q,float *s)
float k;
    if (*p〈*q)
  k=*p;*p=*q;*q=k;}
if (*q〈*s)
    {  k=*s;*s=*p;*p=k;}
if (*p〈*q)
    {  k=*p;*p=*q;*q=k;}
void main()
{  float a,b,c;
    printf(”Input a b c:  ”); scanf(”%f%f%f”,&a,&b,&c);
    printf("a=%4.1f,b=%4。1f,c=%4。1f\n\n”,a,b,c);
    fun(&a,&b,&c);
    printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c);
}
4、编写函数fun(int n),它的功能是:计算正整数n的所有因子(1n除外)之和作为函数值返回.例如:n=120时,函数值为239
#include 〈stdio.h>
#include 〈stdlib。h〉
int fun(int n)
int i,s=0;
  for (i=2;i<n;i++)
    if (n%i==0) s=s+i;
  return s;
void main()  /*主函数*/
{ 
  void NONO();
printf("%d\n",fun(120));
NONO();
}
void NONO( )
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
    输出数据,关闭文件。 */
  FILE  *wf;
  wf = fopen("a30.out", "w") ;
  fprintf(wf,"%d\n",fun(120));
  fclose(wf) ;
5、计算s,并输出
            1        1                1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。