C程序设计(第四版)(谭浩强)第一章课后习题答案
P006  1.1  向屏幕输出文字.
#include <stdio.h>  //预编译. 代码均调试成功,若有失误大多不是代码问题.自已.
                   
int main()
{
    printf("Welcome to mybbing\n"); 
    return 0;  //int main对应,为了程序可移植性,建议全用int main + return 0;.
}
P008  1.2  求两个数的和.
#include <stdio.h>
int main()
{
    int a,b,sum;
    a=5;
    b=4;
    sum=a+b;
    printf("The sum is %d .\n",sum);
    return 0;
}
P008  1.3  调用函数比较两个数的大小.
#include <stdio.h>
c程序设计谭浩强pdf百度网盘
int main()
{
    int max(int x,int y);  //被调用函数在主函数后面,用前先声明.
    int a,b,c;
    scanf("%d,%d",&a,&b);    //输入时要按格式来,此处的逗号,用空格会发生错误.
    c=max(a,b);  //a,b作为实参传入被调用函数中.
    printf("The max is %d .\n",c);
    return 0;
}
int max(int x,int y)  //定义了两个形参.
{
    int z;  //z属于局部变量,可与主函数中相同名字.
    if (x>y)
        z=x;
    else
        z=y;
    return(z);  //z作为整个程序的出口值,赋给主函数中的c.
}
P015  0.6  三个数的大小.(数字0表示课后练习题)
#include <stdio.h>
int main()
{
    int a,b,c,d;  //d是用于存储最大值的.
    int max(int x , int y , int z);  //测试可知,VS2008,可以不预先声明.
    printf("Please input 3 numbers :\n");
    scanf("%d %d %d",&a,&b,&c);
    d=max(a,b,c);  //调用函数中有三个形参,这里需要传入三个实参,才可运算.
    printf("The max is :%d .\n",d);  // d可以换成max(a,b,c).
}
int max(int x , int y , int z)
{
    int m;
    if (x>y && x>z)  //求三者之大的一种方法.
        m=x;
    if (y>x && y>z)
        m=y;
    if (z>y && z>x)
        m=z;
    return (m);  //返回值m给主函数中的d.
}
C程序设计(第四版)(谭浩强)第2章课后习题答案
算法——程序的灵魂
P017  2.1  计算机1-5相乘的积.
#include <stdio.h>
int main()
{
    int i,s=1;  //在执行数值操作前一定要先有个初值.
    for(i=1;i<6;i++)  //这里是到6.
    {
        s=s*i;  //相乘
    }
    printf("The sum is %d .\n",s);
    return 0;
}
#include <stdio.h>  //作出要求:换成111间奇数相乘.
int main()
{
    int i,s=1;  //在执行数值操作前一定要先有个初值.
    for(i=1;i<12;i++)  //这里是到,但题目要求的是取单数.也可以是i=i+2
    {
        if(i%2!=0)  //i对取模,值为非为奇数;为则为偶数.
            s=s*i;
        else
            continue//跳过这个for循环的这一次,执行下一次.
    }
    printf("The sum is %d .\n",s);
    return 0;
}
P019  2.2  按要求输出80分以上的学生信息.
暂时没法做.
P019  2.3  判断2000-2500年中的闰年,并输出.
年的概念是地球围绕太阳一周的时间(所谓公转周期)称为一年,这个周期是相当稳定的,很长时间也不会变动1秒,但是真正的一年是365.2423天(目前)。所以,如果每年定义为365天的话,1年就会多出0.2423天,4年就会多出0.9692天,非常接近1天,这样闰年就出现了,也就是每4年要有1年设置为366天,来抵消这多出的1天。规则为:·1)如果年份能被4整除,则该年计为闰年;可是,假如不做调整的话,当400年的时候,累计才多出96.92天,接近于多出97天,闰年的设置却多出来100天,所以要在400年内,再撤销3个闰年。怎么撤销呢?就有了下面这个规则:·2)如果年份能被100整除,则不计为闰年;问题又来了,400年里有4100年吧,去掉后四个100年后,又少了一个,所以再加一个规则就是:·
3)如果年份能被400整除,则计为闰年。简单说来每400年里设置了97个闰年,也就是400里的前3100年不设置闰年,误差被调整到400年仅有0.08天。
#include <stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2200;i++)
    {
        if((i%4==0 && i%100!=0)||i%400==0)  //闰年的经典判断条件.
            printf("%d is a leap year !\n",i);
        else
            printf("%d is not a leap year !\n",i);
    }
}
P020  2.4  求(1)-(1/2)+(1/3)……+(1/99)-(1/100)的值.
#include <stdio.h>
int main()
{
    float sign=1 , sum=0 , deno , term ;  //关于有小数的计算应该用float.
    for (deno=1;deno<=100;deno++)
    {
        term=sign*(1/deno);  //term临时值,sing符号,deno为分母.
        sum=sum+term;  //第一次总全存储.
        sign=(-1)*sign;  //换号.
    }
    printf("The sum of deno(指定值) is %f .\n",sum);
    return 0;  //若是到100的话,结果为0.68172
}
P021  2.5  得到一个大于3的数,并判断是否为素数.
#include <stdio.h>
int main() 
{
    int i , num ,n ;  //13,37,这样只能让和它本身除以外,没有其它除数的叫素数.
    printf("Please input a number :\n");  //获取一个数值
    scanf("%d",&num);
    for(i=2;i<num;i++)  //在到此数值间进行循环除,如果除得尽,就不满足素数要求.
    {
        if(num%i==0)  //除得尽,则不是.
        {
            n=1;
            break//设置跳出,才不会执行多次.
        }
        n=0;  //按程序走的话,这里会执行多次,不能用printf语句,会输出多次.
    }
    if(n==0)  //单出口问题,虽然n=0执行多次,但仍然是n=0,这样才会只输出一次.
    {
        printf("It is do a prime number !");  //如果是100-200可以加个”%d”,nmu进去.
    }
    else
    {
        printf("It is not a prime number !");
    }
    return 0;
}
2.6-2.10要求用流程图表示上列算法.
2.11-2.16要求用N-S图表示上列算法.
还要伪代码
P036  0.1  调换二个参数的值.
#include <stdio.h>
int main() 
{
    char a='a',b='b',c;
    c=a;
    a=b;
    b=c;
    printf("a now is %c , b now is %c !\n",a,b);

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