第一题
输入一个正整数,请判断该数据是否为偶数,如果是偶数,则输出:偶数,如果是奇数,则输出:奇数
输入描述:输入一个正整数,只需要输入一次
输出描述:输出该数是奇数还是偶数
样本输入:4
样本输出:偶数
#include <stdio.h>
int main()
{
int num;
printf("输入一个整数:");
scanf("%d",&num);
if (num%2==0) printf("偶数");
else printf("奇数");
}
第二题
编写程序,输入一个整数 x 的值,要求输出相应的 y 的值。
输入样例:x=2
输出样例:y=4
#include <stdio.h>
int main()
{
int num;
printf("x = ");
scanf("%d",&num);
if (num<-1) printf("y = -1");
else if (num==0) printf("y = 0");
else printf("y = %d",2*num);
}
第三题
给一个不多于 5 位的正整数 num,要求求出它是几位数。
输入样例:5000
输出样例:5000 是个 4 位数
原写法
#include <stdio.h>
int main()
{
int num;
while(1){
printf("输入一个正整数:");
scanf("%d",&num);
if (num<=0)
printf("非正整数,不做判断。");
else if (num<10)
printf("%d 是一个1位数!\n",num);
else if (num>=10&&num<100)
printf("%d 是一个2位数!\n",num);
else if (num>=100&&num<1000)
printf("%d 是一个3位数!\n",num);
else if (num>=1000&&num<10000)
printf("%d 是一个4位数!\n",num);
else if (num>=10000&&num<100000)
printf("%d 是一个5位数!\n",num);
else
printf("%d 大于5位数!\n",num);}
}
稍微优雅一点的写法
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int num;
while(1)
{
printf("输入一个正整数:");
scanf("%d",&num);
int base ;
for (int i = 0;i < 11;i++)
{
base = abs(num) / pow(10,i);
if (base >=0 && base<1)
{printf("%d是一个%d位数\n",num,i) ;
break;}
}
fflush(stdin); //如果有错误的结果需要它来释放缓存区
}
}
第四题
从键盘上输入一个小于 1000 的正整数 num,要求输出它的平方根,要求在输入数据后检查输入的数值是否是小于 1000 的正数,若不是,提示“数据无效,请重新输入一个小于 1000 的正整数”,并重新输入 num
#include <stdio.h>
#include <math.h>
int main()
{
float num;
while(1){
printf("输入小于1000的正整数:");
scanf("%f",&num);
if (!(num>0&&num<1000)|| num != int(float(num)))
printf("数据无效,请重新输入一个小于 1000 的正整数\n");
else
printf("%d 的平方根是 %f\n",int(num),sqrt(int(num)));
}
}
看起来我做复杂了一点,实际上我不清楚题目会不会对“整数”这个有严格的要求,舍友我就自己加了一个整数判断。
如果这个数和去掉小数位的数不相等,那么判断为非整数。
问了老师,题目不要求整数判断,那就更简单了。
#include <stdio.h>
#include <math.h>
int main()
{
int num;
while(1){
printf("输入小于1000的正整数:");
scanf("%d",&num);
if (!(num>0&&num<1000))
printf("数据无效,请重新输入一个小于 1000 的正整数\n");
else
printf("%d 的平方根是 %f\n",num,sqrt(num));
}
}
单独抽取的判断整数模型
#include <stdio.h>
int main()
{
float num;
while (1){
scanf("%f",&num);
if (num == int(float(num)))
printf("整数\n");
else
printf("非整数\n");
}
}
最后更新:2022-10-31 21:39:29 星期一
最后一次更新于2022-11-02
?
By Soulxyz at November 4th, 2022 at 10:41 am.