潭浩强C语言课后习题 第一章

Posted on 2007-07-01 02:20 MiweiDev 阅读(652) 评论(4)  编辑 收藏 引用 所属分类: C / C++Language
1.5  参照课本打印一个C语言程序.输出如下信息:
       ************************
                   Very  Good
       ************************

      方法一:
1#include <stdio.h>
2void main()
3{
4    printf("*************************\n");
5    printf("        Very Good\n");
6    printf("*************************\n");
7}
      方法二:
 1//for 循环:
 2#include <stdio.h>
 3void  main()
 4{
 5    for(int i = 0; i < 26; i++)
 6    {
 7        printf("*");
 8    }
 9    printf("\n        Very Good\n");
10    for(i = 0; i < 26; i++)
11    {
12        printf("*");
13    }
14    printf("\n");
15}
      方法三:
//函数调用:
#include 
<stdio.h>
void DisplayWord(
int n);
void DisplayStar(
int n);
void main()
{
    
int n = 26;
    DisplayStar(n);
    DisplayWord(n);
    DisplayStar(n);
}

void DisplayStar(
int n)
{
    
for(int i = 0; i < n; i++)
    {
        printf(
"*");
    }
    printf(
"\n");
}

void DisplayWord(
int n)
{
    
for(int i = 0; i < n/3; i++)
    {
        printf(
" ");
    }
    printf(
"Very Good\n");
}


1.6 编写一个程序,输入三个值,输出其中最大者:
      方法一:
//三元运算符的使用:
#include 
<stdio.h>

void main()
{
    
int numOne = 0,numTwo = 0,numThree = 0;
    printf(
"Please input three numbers :\n");
    scanf(
"%d %d %d",&numOne,&numTwo,&numThree);

    printf(
"Max = %d\n",(numOne>numTwo)?((numOne>numThree)?
        numOne:numThree):((numTwo
>numThree)?numTwo:numThree));
}
      方法二:
//if- else 的嵌套使用:
#include 
<stdio.h>
void main()
{
    
int numOne = 0,numTwo = 0,numThree = 0;
    printf(
"Please input three numbers :\n");
    scanf(
"%d %d %d",&numOne,&numTwo,&numThree);

    
if(numOne>numTwo)
    {
        
if(numOne>numThree)
        {
            printf(
"Max = %d\n",numOne);
        }
        
else
        {
            printf(
"Max = %d\n",numThree);
        }
    }
    
else
    {
        
if(numTwo > numThree)
        {
            printf(
"Max = %d\n",numTwo);
        }
        
else
        {
            printf(
"Max = %d\n",numThree);
        }
    }    
}
      方法三:
//逻辑运算符的使用:
#include 
<stdio.h>
void main()
{
    
int numOne = 0,numTwo = 0,numThree = 0;
    printf(
"Please input three numbers :\n");
    scanf(
"%d %d %d",&numOne,&numTwo,&numThree);
    
    
if(numOne > numTwo && numOne > numThree)
    {
        printf(
"Max = %d\n",numOne);
    }
    
if(numTwo > numOne && numTwo > numThree)
    {
        printf(
"Max = %d\n",numTwo);
    }
    
if(numThree > numTwo && numOne < numThree)
    {
        printf(
"Max = %d\n",numThree);
    }
}
        方法四:
//函数的使用:1.三元传参:
#include 
<stdio.h>

void main()
{
    
int FindMax(int a,int b,int c);
    
int numOne = 0,numTwo = 0,numThree = 0;
    
int max = 0;

    printf(
"Please input three numbers :\n");
    scanf(
"%d %d %d",&numOne,&numTwo,&numThree);
    
    max 
= FindMax(numOne,numTwo,numThree);
    printf(
"Max = %d\n",max);
}

int FindMax(int a,int b,int c)
{
    return ((a
>b)?((a>c)?a:c):((b>c)?b:c));    
}
//函数的调用:2.两个参数
#include 
<stdio.h>
void main()
{
    
int FindMax(int a, int b);

    
int numOne = 0,numTwo = 0,numThree = 0;
    
    printf(
"Please input three numbers :\n");
    scanf(
"%d %d %d",&numOne,&numTwo,&numThree);

    
if(FindMax(numOne,numTwo)>numThree)
    {
        printf(
"Max = %d\n",FindMax(numOne,numTwo));
    }
    
else
    {
        printf(
"Max = %d\n",numThree);
    }
}

int FindMax(int a, int b)
{
    
if(a > b)
    {
        return a;
    }
    
else
    {
        return b;
    }
}
       方法五:
#include <stdio.h>
void main()
{
    
int FindMax(int a, int b);

    
int numOne = 0,numTwo = 0,numThree = 0;
    
    printf(
"Please input three numbers :\n");
    scanf(
"%d %d %d",&numOne,&numTwo,&numThree);

    printf(
"Max = %d\n",((FindMax(numOne,numTwo)>numThree)
        ? FindMax(numOne,numTwo) : numThree));

}

int FindMax(int a, int b)
{
    return ((a 
> b) ? a : b);
}

//指针的使用:
#include 
<stdio.h>

void main()
{
    
int FindMax(int *a, int *b, int *c);

    
int numOne = 0,numTwo = 0,numThree = 0;
    
    printf(
"Please input three numbers :\n");
    scanf(
"%d %d %d",&numOne,&numTwo,&numThree);
    
    printf(
"Max = %d\n",FindMax(&numOne,&numTwo,&numThree));
}

int FindMax(int *a,int *b,int *c)
{
    return ((
*a>*b)?((*a>*c)?*a:*c):((*b>*c)?*b:*c));    
}


Feedback

# re: 潭浩强C语言课后习题 第一章  回复  更多评论   

2008-03-05 16:37 by gao lu
#include <stdio.h>


main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b) max=a;

else max=b;

if (c>max) max=c;

printf("%d\n",max);
}

# re: 潭浩强C语言课后习题 第一章  回复  更多评论   

2008-03-05 16:39 by gao lu
不知哪里错了 谁帮忙改一下

# re: 潭浩强C语言课后习题 第一章  回复  更多评论   

2008-03-05 18:52 by 小不点
#include <stdio.h>


main()
{
int a,b,c,max;
scanf("%d %d %d",&a,&b,&c); //这里%d %d %d那么你输入的时候就也打空格3 4 5 要是打逗号 ,那么你输入 也打逗号 3,4,5
if (a>b) max=a;

else max=b;

if (c>max) max=c;

printf("%d\n",max);
}

# re: 潭浩强C语言课后习题 第一章[未登录]  回复  更多评论   

2011-04-11 14:51 by 小猪
太好了,我也在学习,一起努力~

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理