程序设计与算法(一)C语言程序设计CAP 第二周编程作业

来源:互联网 发布:android 数据库查询 编辑:程序博客网 时间:2024/06/10 06:53

1 .对于半径为r的球,其体积的计算公式为V=4/3*πr3这里取π= 3.14

现给定r,求V。

输入
输入为一个不超过100的非负实数,即球半径,类型为double。
输出
输出一个实数,即球的体积,保留到小数点后2位。
样例输入
4
样例输出
267.95
#include <iostream>#include<iomanip>using namespace std;#define PI 3.14int main(){     int r;     double v;     cin >> r ;     v=4*(r*r*r*PI)/3.0;     cout<<fixed<<setprecision(2)<<v<<endl;     return 0;}
注解;在c++中为了使得结果可以保留两位小数输出 可以采用两种方法 一:调用#include<iomanip>
(iomanip在c++程序里面经常见到下面的头文件#include <iomanip>,io代表输入输出,manip是manipulator(操纵器)
的缩写(在c++上只能通过输入缩写才有效) 输出样式"cout<<fixed<<stprecision(2)<<  <<  endl ;" 
二: 使用printf语句直接定义输出小数的位数 “printf("%.2f",v)” 以上两种方法都可以实现保留两位小数的作用

2.读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们。

输入
只有一行,包含三个整数,整数之间以一个空格分开。
输出
只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。
样例输入
123456789 0 -1
样例输出
123456789        0       -1
程序一
#include<iostream>using namespace std;int main(){int  a,b,c;cin>> a >> b >> c ;cout<< a <<""<< b <<""<< c <<endl;return 0; }
程序二
#include <iostream>#include <cstdio>using namespace std;int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("%8d %8d %8d",a,b,c);return 0;}
3.

读入一个双精度浮点数,保留12位小数,输出这个浮点数。

输入
只有一行,一个双精度浮点数。
输出
也只有一行,保留12位小数的浮点数。
样例输入
3.1415926535798932
样例输出
3.141592653580
#include<iostream>#include<iomanip>using namespace std;int main(){double  a;cin>>a;cout<<fixed<<setprecision(12)<<a<<endl;return 0; }
注解;可以尝试使用一下代码
“”scanf("%lf",&a);printf("%.12f",a);”
4. 

读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。

输入
共有四行:第一行是一个字符;第二行是一个整数;第三行是一个单精度浮点数;第四行是一个双精度浮点数。
输出
输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。
样例输入
a122.33.2
样例输出
a 12 2.300000 3.200000
#include<iostream>using namespace std;int main(){char c;int a;float b;double d;scanf("%c%d%f%lf",&c,&a,&b,&d);  printf("%c %d %.6f %.6lf", c,a,b,d);return 0;}
注释;可以代用iomanip 函数 使用 cin  cout 输出  cout输出样式 为 cout<<fixed<<setprecision<精确位数>
5.

一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水

才会解渴。

输入
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。
输出
输出一行,包含一个整数,表示大象至少要喝水的桶数。
样例输入
23 11
样例输出
3
#include<iostream>using namespace std;#define PI 3.14159int main(){int h ,r ;scanf("%d%d",&h,&r);    double f = 20000.0/(h*PI*r*r);    int temp;    temp=f;    if( temp == f)    {    printf("%d",temp);}else{temp=temp+1;printf("%d",temp);}return 0;} 
方法二:
#include <iostream>#include <cstdio>using namespace std;#define PI 3.1415926#define EPS 1e-8;int main(){int h,r;scanf("%d%d",&h,&r);double f = 20000.0/(h*PI*r*r);int n = f;n += (f - n) > EPS; //说不定有的编译器 true 不为1,那就不行了 printf("%d",n);return 0;}







阅读全文
0 0
原创粉丝点击