❶ 求輸出一個輸入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提供大數這種數據類型,不過我不是特別懂。有興趣可以關注一下。