时间限制1s
内存限制128MB
题目描述
根据输入的半径值,计算球的体积。
输入
输入一个实数,表示球的半径。
输出
输出对应的球的体积,计算结果保留三位小数。
- #include
- int main()
- {
- float r,v;
- scanf("%f",&r);
- v=(4*3.1415926*r*r*r)/3;
- printf("%.3f",v);
- }
一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:
输入
N
输出
? its factors are ? ? ?
- #define _CRT_SECURE_NO_WARNINGS
- #include
- int main()
- {
- int i,N,j, sum; //i表是N以内的可能完数,N表示范围的最大值,j表示可能的因数,sum表示因数求值
- scanf("%d", &N);//输入范围
- printf("%d以内的完数为:", N);
- sum = 0;//对sum初始化
- for (int i = 1; i <= N; i++)
- {
- for (int j = 1; j
- {
- if (i % j == 0)
- {
- sum += j;
- }
- }
- if (sum == i)//判断是否为完数
- printf("%5d", sum);
- sum = 0;//对sum初始化,否则会是原先的sum值
- }
- return 0;
- }
C. 箱子匹配
每个箱子都有长宽高,我们需要判断一个箱子能否放入另一个箱子中。
例如有箱子A的尺寸是 3 x 4 x 5,箱子B的尺寸 是 5 x 6 x 4,经过比较判断,可以知道箱子A能够放入箱子B中,我们就说箱子A匹配箱子B。
注意,当两个箱子尺寸相等,我们也认为它们匹配。
输入
第一行输入参数T,表示有T个测试实例
第二行输入第1组实例的箱子A的长、宽、高,输入数值为小于1000的自然数
第三行输入第1组实例的箱子B的长、宽、高,输入数值为小于1000的自然数
以此类推
输出
如果两个箱子匹配,输出yes,否则输出no。逐行输出每一组的箱子匹配结果。
- #include
- int main()
- {
- int t;
- int a,b,c;
- int d,e,f;
- scanf("%d",&t);
- for(int i=1;i<=t;i++){
- scanf("%d%d%d",&a,&b,&c);
- scanf("%d%d%d",&d,&e,&f);
- if(a<=b){
- int n;
- n=a;a=b;b=n;
- }
- if(a<=c){
- int n;
- n=a;a=c;c=n;
- }
- if(b<=c){
- int n;
- n=b;b=c;c=n;
- }
- if(d<=e){
- int n;
- n=d;d=e;e=n;
- }
- if(d<=f){
- int n;
- n=d;d=f;f=n;
- }
- if(e<=f){
- int n;
- n=e;e=f;f=n;
- }
- if((a<=d&&b<=e&&c<=f)||(a>=d&&b>=e&&c>=f))
- printf("yes\n");
- else
- printf("no\n");
- }
- }
D. 标识符(循环)
C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线。c89规定标识符在31个字符以内,且不能是关键字。 假设忽略关键字比较,采用c89标准。输入一行,判断是否合法标识符。
输入
第一行,测试次数
每组测试数据一行字符
输出
对每组测试数据,若为C语言合法标识符,输出YES,否则输出NO。
- #include
- #include
- int main() {
- char ascii[63];
- int i,j;
- for(i=0; i<10; i++) ascii[i]='0'+i;
- for(j=0; j<26; j++ ) ascii[i++]='a'+j;
- for(j=0; j<26; j++) ascii[i++]='A'+j;
- ascii[62]='_';
- int n;
- scanf("%d",&n);
- while(n--) {
- int flag=1;
- char c[100];
- scanf("%s",c);
- if(c[0]!='_'&&!(c[0]>='a'&&c[0]<='z')&&!(c[0]>='A'&&c[0]<='Z')) flag=0;
- else {
- for(int i=1; i<strlen(c); i++) {
- int temp=1;
- for(int j=0; j<63; j++) {
- if(c[i]==ascii[j]) temp=0;
- }
- if(temp) {
- flag=0;
- break;
- }
- }
- }
- if(flag) printf("YES\n");
- else printf("NO\n");
- }
- }
A. 求a+aa+aaa+…+aa..a之和(循环)
编程计算a+aa+aaa+…+aa..a(n个a)的值,a的取值范围为0—9,n的取值范围为0—5。n和a的值都由键盘输入,均为整数。
输入
键盘输入a和n
输出
求和
- #include
- int main()
- {
- int a,n,s=0,x;
- scanf("%d",&a);
- scanf("%d",&n);
- x=a;
- for(int i=1;i<=n;i++){
- s+=x;
- x=x*10+a;
- }
- printf("%d",s);
- }
B. 找好人(循环)
某学校有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。四个人的回答分别是:
A说:不是我
B说:是C
C说:是D
D说:C胡说。
已知三人说的是真话,一个人说的是假话,现在编程求出做好事的到底是谁?
要求: 编程求解,直接输出答案得0分。
输入
无输入
输出
X
(X表示A,,B,C,D中的一人)
- #include
- int main()
- {
- char A,B,C,D,x;
- for(x=='A';x<='D';x++){
- if(((x!='A')+(x=='C')+(x=='D')+(x!='D'))==3)
- printf("%c",x);
- }
- return 0;
- }
C. 鸡兔同笼(循环)
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)
输出
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开 如果没有满足要求的答案,则输出两个0。
- #include
- int main()
- {
- int n,a;
- int min,max;
- scanf("%d",&n);
- for(int i=1;i<=n;i++){
- scanf("%d",&a);
- if(a%2==1)
- printf("0 0\n");
- else
- {
- if(a%4==0){
- min=a/4;
- max=a/2;
- printf("%d %d\n",min,max);
- }
- else{
- max=a/2;
- min=a/4+1;
- printf("%d %d\n",min,max);
- }
- }
- }
- }
D. 特殊四位数(循环)
已知四位数3025具有一个特殊性质:它的前两位数字30与后两位数字25之和是55,而55的平方正好等于3025。编程找出所有具有这种性质的四位数。输出格式:每一个四位数自占一行
输入
输入测试次数t (t大于0)
后跟t行,每行输入一个正整数
输出
对每组测试数据,输出YES或NO,表示是否特征四位数。
- #include
- int main()
- {
- int t,n;
- int a,b,c;
- scanf("%d",&t);
- for(int i=1;i<=t;i++){
- scanf("%d",&n);
- if((n>=1000)&&(n<=9999)){
- a=n/100;b=n%100;
- c=a+b;
- if(c*c==n)
- printf("YES\n");
- else{printf("NO\n");}
- }
- else{printf("NO\n");}
- }
- }
E. 开灯问题
有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号。k≤n≤1000
输入
输入一组数据:n和k
输出
输出开着的灯编号
- #include
- int main()
- {
- int n,k;
- int i,j,m;
- int sum;
- scanf("%d %d",&n,&k);
- printf("1");
- for(i=2;i<=n;i++){
- sum=0;
- for(j=2;j<=k;j++){
- if(i%j==0)
- sum+=1;
- }
- if(sum%2==0)
- printf("% d",i);
- }
- printf("\n");
- }