❶ 求输出一个输入123的不大于它的最大质数及不小于它的最小质数的C语言编程题
#include<iostream>
#include<cmath>
usingnamespacestd;
intmain()
{
intn;
cin>>n;
int t=n;
intf(int);
while(t--)
{
if(f(t)){cout<<"小于n的质数"<<t<<endl;break;}
}
while(n++)
{
if(f(n)){cout<<"大于n的质数"<<n<<endl;break;}
}
return0;
}
intf(intn)//判断是否质数
{
intt=1;
for(inti=2;i<=sqrt(n)&&t==1;i++)
{
if(n%i==0)
t=0;
}
returnt;
}
❷ c语言编程题:在斐波那契数列中,求出一个不大于N的最大值和一个不小于N的最小值,并输出最大值和最小值
#include <stdio.h>
main()
{int n,i,a[50]={0,1,1};
printf("请输入N的数值:");
scanf("%d",&n);
for(i=3;1;i++)
{a[i]=a[i-2]+a[i-1];
if(a[i]>=n)
break;
}
printf("不大于N的最大值是%d,", a[i]==n?a[i]:a[i-1]);
printf("不小于N的最小值是%d\n", a[i]);
}
倒数第二句用了条件表达式
数组a的问题,斐波那数列第47项就已经超出int型存储上限了。
你要高兴的话打算计算更大的数据的话,可以把数组a换用double型,换成a[2000]就行了
反正在我的台式机上计算到第999项就溢出程序崩溃了
❸ C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊
#include<stdio.h>
int main()
{
int t,a,b,c,d;
printf("请输入4个数:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if (a > b)
{
t = a;
a = b;
b = t;
}
if (a > c)
{
t = a;
a = c;
c = t;
}
if (a > d)
{
t = a;
a = d;
d = t;
}
if (b > c)
{
t = b;
b = c;
c = t;
}
if (b > d)
{
t = b;
b = d;
d = t;
}
if (c > d)
{
t = c;
c = d;
d = t;
}
printf("由小到大输内出容:%d %d %d %d ",a,b,c,d);
return 0;
}
❹ 1、 设计一个程序,从键盘输入3个整数,输出其中不大不小的那个数,输出宽度为五位。
#include<stdio.h>
intmiddle_num(inta,intb,intc)
{
if(a>b)
{
if(a>c)
{
if(b>=c)
{
returnb;
}
else
{
returnc;
}
}
else
{
returna;
}
}
elseif(a<b)
{
if(a>=c)
{
returna;
}
elseif(b>c)
{
returnc;
}
else
{
returnb;
}
}
else
{
returna;
}
}
intmain(intargc,char*argv[])
{
intnum_1;
intnum_2;
intnum_3;
printf("Input3num:num1,num2,num3 [i]:");
scanf("%d,%d,%d",&num_1,&num_2,&num_3);
printf("Number1:%d ",num_1);
printf("Number2:%d ",num_2);
printf("Number3:%d ",num_3);
printf("Middlenumberis:%5d ",middle_num(num_1,num_2,num_3));
return0;
}
C:
❺ 用C语言: 设计一个程序,从键盘输入3个整数,输出其中不大不小的那个数,输出宽度为五位。
#include<stdio.h>
voidmain()
{
inta,b,c;
printf("请输入3个整数! ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a<c)
printf("%d ",a);
else
printf("%d ",c>b?c:b);
}
else
{
if(b<c)
printf("%d ",b);
else
printf("%d ",c>a?c:a);
}
}
devc++运行结果正确
❻ c语言编程数据太大无法输出怎么办,比如2的100次方
在任何一种语言中,精度和取值范围都是一对矛盾。我理解您的意思,这里说的是整型。在c中,整型有三类数据类型,char,short,int,每一类又有unsigned和signed,即无符号和有符号两种。
在32位系统中,char占一个字节,short占两个字节,int占4个字节。对于整数来说,精度都一样,只要没有进行取舍。所以int的取值范围最大。有符号型的范围为-2^31~2^31,无符号int范围为0~2^32.
对于更大的整数,c的基本数据类型就无能为力了。常用的方法是利用数组进行数的范围的扩大,例如表示2^100,我可以建立一个4元素的int数组num:
int
num[4];
然后我用num[0]表示从个位开始的9位数(2^31略等于2*10^9),然后num[1]表示接下来的9位,以此类推。
当然这种情况下,你需要为这些大数的运算,例如加减乘除,专门编写适合你的数据类型的算法。相对来说还是比较繁琐的。
但是java提供大数这种数据类型,不过我不是特别懂。有兴趣可以关注一下。