首页 > 编程语言 >C语言程序设计(第四版)谭浩强版 课后答案 第五章

C语言程序设计(第四版)谭浩强版 课后答案 第五章

时间:2023-05-13 22:24:20浏览次数:44  
标签:10 main int sum C语言 谭浩强 课后 pi include

2、

#include<stdio.h>
#include<math.h>
int main(){
        int sign = 1,count = 0;
        double pi = 0.0,n = 1.0,term = 1.0;
        while(fabs(term)>=pow(10,-6)){
                pi = pi +term;
                n = n+2;
                sign = -sign;
                term = sign/n;
                count++;
        }
        pi = pi*4;
        printf("pi = %10.8f\n",pi);
        printf("The count is:%d\n",count);
        return 0;
}

3、辗转相除法

#include<stdio.h>
int main(){
        int a,b,temp = 0;
        int x,y;
        scanf("%d%d",&a,&b);
        x = a;
        y = b;
        while(b){
                temp = a%b;
                a = b;
                b = temp;
        }
        printf("maxdiv:%d\n",a);
        printf("minmul:%d\n",x*y/a);
        return 0;
}

4、容易出现问题,判断语句中=一定是==

#include<stdio.h>
int main(){ int a = 0; int b = 0; int c = 0; int o = 0; char ch; scanf("%c",&ch); while(ch!='\n'){ if(ch>='A'&&ch<='z') a++; else if((int)ch==32) b++; else if (ch>='0'&&ch<='9') c++; else o++; scanf("%c",&ch); } printf("The number of letter is:%d\n",a); printf("The number of blank is:%d\n",b); printf("The number of figure is:%d\n",c); printf("The number of other is:%d\n",o); return 0; }

5、

#include<stdio.h>
#include<math.h>
int main(){
        int n,a=0,sum=0;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
                a=a+pow(10,i)*2;
                sum+=a;
        }
        printf("sum:%d\n",sum);
        return 0;
}
   

6、

#include<stdio.h>
int main(){
        int i,j=1,sum=0;
        for(i=1;i<=20;i++){
                j*=i;
                sum+=j;
        }
        printf("sum is:%d\n",sum);

        return 0;
}

7、

#include<stdio.h>
#include<math.h>
int main(){
        int sum1=0,sum2=0;
        float sum3=0;
        for(int i=1;i<=100;i++)
                sum1+=i;
        for(int i=1;i<=50;i++)
                sum2+=pow(i,2);
        for(int i=1;i<=10;i++)
                sum3+=1.0*1/i;
        printf("sum is :%0.2f\n",sum1+sum2+sum3);

        return 0;
}

8、水仙花数

#include<stdio.h>
int main(){
        int a,b,c;
        for(int i=100;i<1000;i++){
                a = i%10;
                b = i/10%10;
                c = i/100;
                if(a*a*a+b*b*b+c*c*c==i)
                        printf("it is a narcinum:%d\n",i);

        }

        return 0;
}

9、问题,第一遍sum放在int定义后面,所以结果为空,在计算每个数是不是完数时,都应该把sum归零

#include<stdio.h>
int main(){
        int i,j,sum;
        for(i=2;i<=1000;i++){
                sum = 0;
                for(j=1;j<i;j++){
                        if(i%j==0)
                                sum+=j;
                }
                if(sum==i){
                        printf("%d its factors are:",i);
                        for(j=1;j<i;j++){
                                if(i%j==0)
                                        printf("%d,",j);
                        }
                        printf("\n");
                }
        }
        return 0;
}

10、

#include<stdio.h>
int main(){
        float sum;
        int a = 2,b = 1,c;
        for(int i=1;i<=20;i++){
                sum+=(float)a/b;
                c=a;
                a=a+b;
                b=c;

        }
        printf("the sum:%f\n",sum);
        return 0;
}
        

11、

#include<stdio.h>
#include<math.h>
int main(){
        float sum=100,high;
        for(int i=1;i<10;i++){
                sum=sum+(1.0*100/pow(2,i))*2;
        }
        high = 0.1*100/pow(2,10);
        printf("sum:%f,high:%f\n",sum,high);
        return 0;
}
                                                                   

12、正好返回来求,确定循环几次。

#include<stdio.h>
int main(){
        int sum = 1,i;
        for(i=1;i<=9;i++){
                sum=(sum+1)*2;
        }
        printf("sum is :%d\n",sum);

        return 0;
}

13、 

#include<stdio.h>
#include<math.h>
int main(){
        float a,m,n;
        printf("please input:");
        scanf("%f",&a);
        m = a/2;
        while(1){
                n = m;
                m = 0.5*(n+a/n);
                if(fabs(n-m)<pow(10,-5))
                        break;
        }
        printf("the result is:%f\n",m);
        return 0;

}

14、熟悉牛顿迭代法定义

#include<stdio.h>
#include<math.h>
int main(){
        float x,x1=1.5,f,f1;
        for(x=0;fabs(x1-x)>=pow(10,-5);){
                x=x1;
                f=2*x*x*x-4*x*x+3*x-6;
                f1=6*x*x-8*x+3;
                x1=x-f/f1;
                printf("x1=%f\n",x1);

        }
        return 0;
}

15、

#include<stdio.h>
#include<math.h>
int main(){
        float a,a1,b,x=-10,y=10;
        a = 10;
        while(1){
                a1 = a;
                a = (x+y)/2;
                b = 2*a*a*a-4*a*a+3*a-6;
                if(b>0)
                        y=a;
                else
                        x=a;
                if(fabs(a1-a)<=pow(10,-5))
                        break;
        }
        printf("the result is:%f\n",a);
        return 0;
}

16、

 

标签:10,main,int,sum,C语言,谭浩强,课后,pi,include
From: https://www.cnblogs.com/gunancheng/p/17398069.html

相关文章

  • c语言
    c语言命令:int摘要:C/C++编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同。在32/64位系统中都是32位,范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295。c语言命令:scanf摘要:scanf是C语言中的输入......
  • C语言刷leetcode——贪心
    目录贪心刷题252.会议室(P)253.会议室II(P)1353.最多可以参加的会议数目贪心找到贪心策略,使得:局部最优解-->整体最优解刷题252.会议室(P)253.会议室II(P)#defineMAX1000001intminMeetingRooms(int**intervals,intintervalsSize,int*intervalsColSize){......
  • 关于C语言getchar()的作用理解
    让我们先看一个程序#include<stdio.h>intmain(){charch[100];fgets(ch,10,stdin);//用标准输入设备输入fputs(ch,stdout);//用标准输出设备输出return0;}这个时候,我们输入超过10个字符,只读前十个字符;不超过10个字符,输入字符时,输出会多输出一行,说明\n也......
  • 初始c语言的学习
    1、计算机的发展历史,C语言是与计算机沟通的语言,计算机只能够识别二进制,也即正负电(1,0)。2、空项目->源文件,右键新建项目->创建一个新的项目。3、头文件#include<stdio.h>主函数intmain(){(这里开始你的代码)return0;}4、第一个库函数printf("%d\n",xxx);在此介绍我所了解的库函......
  • 双向链表_C语言
    2023年5月12日22:35:371.数据结构普通节点:数据域*data,指针域*prev、*next头结点:size+普通节点其中:头结点data为NULL,size是指定data空间大小,data数据类型未定,也就是说头结点不同于普通节点本文想要实现的额外功能:data数据无论是多大,无论是什么类型,都能直接存放进去代码......
  • C语言--字符操作库函数1
    strtok 字符串分割char*strtok(char*str,constchar*sep);strerror返回错误码,所对应的错误信息char*strerror(errno)errno--errno.h 是一个全局错误码的变量当C语言的库函数在执行过程中,发生了错误,就会把对应错误吗复制到errno中。字符分类函数引用<ctyoe.h>intret=iscntrl......
  • c语言环境配置
    1.先从百度搜索Windows下MinGW-w64的安装2.在从链接https://pan.baidu.com/s/1aMyeF4iUl0Bfn-P8ILGliQ3.在此电脑属性打开高级系统设置4.打开环境变量,再编辑用户变量中的Pith  5.新建浏览自己文件mingw64中的bin文件 一直确定退出 6.Win加R键输入cmd,输入gcc-v后有......
  • 打卡 c语言趣味编程 最佳存款问题
    假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的5年中的每年年底取出1000元,到第5年时刚好取完,请算出他存钱时应存入多少。思路:计算储蓄金额的数学公式为:储蓄金额=每年取出金额×(1+月息)^(存款年限×12)定义每年取出金额和存款年......
  • 通过C语言玩扫雷
    直接进入主题:先思考后敲代码!!首先,我将扫雷分为两个棋盘,一个放雷,另一个为玩家猜测盘。这就有同学问了,设置一个棋盘不就完了,这样不就搞复杂了吗?先简短的回答这位同学的问题:因为我的考虑是这样的,我用‘1’代表有雷,‘0’代表没有雷,如果放在一个盘中,出现多个1的时候,无法确定这是雷还是......
  • C语言程序设计(第四版)谭浩强版 课后答案 第四章
    4、#include<stdio.h>intmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if(a>b){if(a>c){printf("maxnumis:%d\n",a);}......