c语言:输入一个小于1000的正数,输出它的平方根,若不是小于1000的正数,重新输入

从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。

解:程序:

#include<stdio.h>

#include<math.h>

#define M 1000

int main()

{

int x,y;

printf("请输入一个小于%d的正数x:",M);

scanf("%d", &x);

while(x>M)

{

printf("输入的数据不符合要求,请重新输入一个小于%d的正数x:", M);

scanf("%d", &x);

y = sqrt(x);

}

y = sqrt(x);

printf("%d的平方根的整数部分是:%d\n",x,y);

return 0;

}

结果1:

请输入一个小于1000的正数x:81

81的平方根的整数部分是:9

请按任意键继续. . .

结果2:

请输入一个小于1000的正数x:1200

输入的数据不符合要求,请重新输入一个小于1000的正数x:7612

输入的数据不符合要求,请重新输入一个小于1000的正数x:121

121的平方根的整数部分是:11

请按任意键继续. . .

时间: 2024-08-05 06:43:39

c语言:输入一个小于1000的正数,输出它的平方根,若不是小于1000的正数,重新输入的相关文章

定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j

//定义一个由整数组成的数组,然后输入一个整数x,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j: //若X在此数组中,则返回数组中这个数的位置. 源代码: #include<iostream> using namespace std; void main() { int array[]={1,2,3,4,5,6,7,89,45,32,56,78,12,43,90,19};//16个数字 int x; int max=array[0]; int min=array[0]

【c语言】有一函数:x &lt; 0 ,y = -1;x = 0,y = 0;x &gt; 0,y = 1,编程输入一个x值,要求输出对应的y

// 有一函数:x < 0 ,y = -1;x = 0,y = 0;x > 0,y = 1,编程输入一个x值,要求输出对应的y #include <stdio.h> int main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x > 0) y = 1; else if(x < 0) y = -1; else y = 0; printf("对应的y值是:%d\

c程序设计 8.15写几个函数:①输个职工的姓名和职工号;②按职工号由小到大顺序排序,姓名顺序也随之调整;③要求输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工

8.15写几个函数:①输个职工的姓名和职工号:②按职工号由小到大顺序排序,姓名顺序也随之调整:③要求输入一个职工号,用折半法找出该职工的姓名, 从主函数输入要查找的职工号,输出该职工. 写的时候为方便输入,我设的是输入3名职工的信息. #define N 3 #include <stdio.h> #define N 3 #define LEN 20 //定义一个结构体类型 struct student{ char name[LEN]; int num; }; int main(){ int n

用指针??输入一个数组,逆序输出该数组

/* *Copyright(c) 2014 烟台大学计算机学院 *All rights reserved. * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:杨汉宁 * 完成日期:2014年 12 月 11 日 * 版 本 号:v1.0 * * 问题描述:输入一个数组,逆序输出该数组 * 输入描述:输入一个数组 * 程序输出:逆序输出该数组 */ #include <iostream> us

matlab_exercise(2)----输入一个三位数,依次输出其个位数字,十位数字,百位数字

第一次作业--第二题 输入一个三位数,依次输出其个位数字,十位数字,百位数字. 1 %第二题 2 %注意:将文件命名为math_2018_4_02_01.m 3 %先判断输入的是不是三位数 4 shuru ='请输入一个三位数'; 5 x=input(shuru) 6 7 if x>100&&x<=999; 8 alert=warndlg('输入正确'); 9 b=floor(x/100) 10 % b=fix(x/100)%向下取整 11 c=fix(mod(x,100)/1

c程序设计 8.8写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出&quot;1_9_9_0&quot;。

#include <stdio.h> //整型的数字1+48=符号数字1,整型的数字2+48=符号数字2... void main(){ int n1; void numToStr(int m); printf("请输入一个四位数字:\n"); scanf("%d",&n1); numToStr(n1); } void numToStr(int m){ int a,b,c,d,i,j; char str[7]; a=m/1000; b=(m-a*

控制台输入一个数组,然后倒序输出

static void Main(string[] args) { Console.WriteLine("请输入十个数,并以空格隔开:"); string string1 = Console.ReadLine(); string[] string2 = System.Text.RegularExpressions.Regex.Split(string1, @"[ ]+");//表示按空格分隔,正则[0-9]表示匹配0到9的任意字符,这里匹配的是空格 string[]

输入一个日期和时间,输出下一秒的日期和时间

1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <string> 4 #include <string.h> 5 #include <iostream> 6 #include <vector> 7 #include <stack> 8 using namespace std; 9 #define debug(x) cout << #x <<

公约数和公倍数 描述 小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。 输入第一行输入一个整数n(0&lt;n&lt;=10000),表示有n组测试数据; 随后的n行输入两个整数i,j(0&lt;i,j&lt;=32767)。输出输出每组测试数据的最大公约数和最小公倍数

#include <stdio.h>int main() { int n,i,j,a,b,t,k; scanf("%d",&n); for(k=0;k<n;k++) { scanf("%d %d",&i,&j); a=i,b=j; if(b%a==0) printf("%d %d\n",a,i*j/a); else{ for(t=1;t!=0;) { t=a%b; a=b; b=t; } printf(&

输入一个整数,判断其是否是2^n,是就输出这个数,不是就输出和它最接近的为2^n的那个整数。

输入一个整数,判断其是否是2^n,若是,输出这 //个数,若不是,输出和它最接近的为2^n的那个整数. 附加源代码1: #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int input;//键盘输入一个整数input int i,j;//i,j待会儿存放input与左边和右边的为2^n的差值 int m,n;//保存左边,右边的与inout最接近的2^n printf("请