时间限制:1000MS 代码长度限制:10KB
提交次数:6288 通过次数:3742
题型: 编程题 语言: G++;GCC
由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。
三个数由逗句分隔
65,45,90
45,65,90
分析:数据小的简单排序。本文使用的排序方法仅为让初学者熟悉选择结构,日后基本不会使用。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if (a > b)
{
t = a; a = b; b = t;
}
if (a > c)
{
t = a; a = c; c = t;
}
if (b > c)
{
t = b; b = c; c = t;
}
printf("%d,%d,%d",a,b,c);
return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}
时间限制:1000MS 代码长度限制:10KB
提交次数:4076 通过次数:2872
题型: 编程题 语言: G++;GCC
由键盘输入5个字符,将其中的大写字符变成小写(其它类型的字符不变),最后,按输入顺序输出这5个字符。
ApPLe
apple
分析:这道题运用到字符的输入输出。
字符类型char本质是数字,也就是ASCII码。它们是可以做加减运算的。
而大写字母与小写字母相差32。由此我们可以是实现转化。
例如:‘A’+32=‘a’
#include <stdio.h>
int main()
{
int i;
char a[6];//定义为6,防止越界
gets(a);
for (i = 0; i < 5; i++)
{
if (a[i] <= 'Z' && a[i] >= 'A')
a[i] += 32;
printf("%c", a[i]);
}
return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}
由键盘输入5个整数,逐个判断它们能否被27整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行,5个数的判断共占5行)。
用空格分隔
一行一个判断
8 27 17577 325 54
NO
YES
YES
NO
YES
分析:直接用%判断就可以
#include <stdio.h>
int main()
{
int i;
int a[6];
for (i = 0; i < 5; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < 5; i++)
{
if (a[i] % 27 == 0)
printf("YES\n");
else
printf("NO\n");
}
return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}
由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇偶性,奇数输出odd,偶数输出even。
注意,正负判断结果与奇偶判断结果之间用回车符分隔
-43
negative
odd
分析:直接判断
#include <stdio.h>
int main()
{
int i;
int num;
scanf("%d", &num);
if (num>0)
printf("positive\n");
else
printf("negative\n");
if (num % 2 == 0)
printf("even\n");
else
printf("odd\n");
return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}
由键盘输入一个正整数,判断该数是否为平方数,是输出Y,否则输出N
一个整数
Y或者N
49
Y
分析:
思路一
从1开始遍历到num/2(num的算术平方根不可能超过num/2)
思路二:
利用math库中的sqrt函数(开平方根)
#include <stdio.h>
int main()
{
int i,mark=1;
int num;
scanf("%d", &num);
for (i = 1; i <= num / 2; i++)
{
if (i * i == num)
{
printf("Y");
mark = 0;//此处的mark是一个标记,如果该数没有平方根,那么mark永远为1;
break;
}
}
if (mark)//如果mark=1,则说明num没有平方根
printf("N");
return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}
#include <stdio.h>
#include<math.h>
int main()
{
int num;
scanf("%d", &num);
if (sqrt(num) * sqrt(num) == num)//sqrt相当与开平方根
printf("Y");
else
printf("N");
return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}
由键盘输入一个不多于9位的正整数,要求输出它是几位数。
输入格式
一个整数
输出格式
输出该数为几位数
输入样例
349213
输出样例
6
分析:因为不知循环几次,使用while循环
#include <stdio.h>
#include<math.h>
int main()
{
int num,count=0;
scanf("%d", &num);
while (num != 0) //num为0时跳出循环
{
num /= 10;
count++;
}
printf("%d",count);
return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}
由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆(圆心在坐标0,0)上,点在圆上输出Y, 不在圆上输出N。
使用小数点后3位精度进行判断。
输入样例
0.707,0.707
输出样例
Y
本题的关键在于精度的判定:小数点后3位
意味着误差小于0.001
在编程时应格外注意数据的范围与处理,这是决定结果的关键,却容易被初学者忽视
#include "stdio.h"
#include "math.h"
int main()
{
double a, b;
scanf("%lf,%lf", &a, &b);
if ((a * a + b * b) <= 1.001 && (a * a + b * b) >= 0.999)
printf("Y\n");
else
printf("N\n");
}//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
由键盘输入一个形如长方体的盒子的长、宽、高,以及一个圆球的半径,判断该盒子能否完全装下圆球,能输出Y,否则输出N.
输入格式
第一行长方体的三边长
第二行圆球的半径
输出格式
Y或N
输入样例
40.1 50.2 20
21
输出样例
N
分析:球的直径小于长方体的长宽高就完全装下;
#include "stdio.h"
#include "math.h"
int main()
{
double a, b,c,r;
scanf("%lf %lf%lf %lf", &a, &b,&c,&r);
if (2*r<=a&&2*r<=b&&2*r<=c)
printf("Y\n");
else
printf("N\n");
}//ctrl cv虽然又快又爽,但自己敲才永远是自己的。