當前位置:首頁 » 編程軟體 » 數的計算編程

數的計算編程

發布時間: 2023-01-07 10:09:28

A. 數的計算(c/c++編程)

#include<stdio.h> int check(int num) { int n=1; int i; if(num==1) { return 1; } for(i=1;i<=num/2;i++) { n =n + check(i); } return n; } void main() { int num,result=0; while(2) { printf("Please Input a natural number less than 1001: "); scanf("%d",&num); result=check(num); printf("%d\n",result); } } //6 : 6 16 26 126 36 136 //7 : 7 17 27 127 37 137 //8 : 8 18 28 128 38 138 48 148 248 1248 //調試通過...答案正確... 只算個數 沒有一一列出... 不懂得話可以問我... 這種演算法對大數來說 效率比較低... 如果有時間可以幫你想好點的演算法...

B. c語言編程 輸入一個整數計算並輸出該數的平方

方法1:
#include<stdio.h>
int square(int m)
{
return m*m;
}
main(void)
{
int a,result;
printf("please input:\n");
scanf("%d",&a);
result=square(a);
printf("%d*%d=%d\n",a,a,result);
}
方法2:
#include<stdio.h>
#include<math.h>
main(void)
{
int a,result;
printf("please input:\n");
scanf("%d",&a);
result=(int)pow(a,2);
printf("%d*%d=%d\n",a,a,result);
}
希望可以幫到你,如果滿意請採納!

C. 求救:編程計算一整數各位數之和.(C語言)

and指的是結果,for循環的意思是每次都測試num除以10是否為零。在C語言中,整除除以整數的結果是截斷的,也就是說只取整數部分。舉個例子5/3=2.666,取整就是2.num%i的意思是取num除以i的余數,也就是num的個位數,num=num/i的意思是把num除以10,相當於去掉num的個位數。例如1234除以10,得123.4,由於結果只取整數部分,所以得123。以此類推就能得到一個數所有位數之和了。
你的程序還有點小問題,就是for循環里的num/i!=0,如果寫成這樣,就會少計算一位,導致結果不正確。
應該改為for(i=10;num!=0;)

D. 如何編程對數值很大、精度很高的數進行計算

我提供一種演算法:
先將數R擴大10的m次方倍,使之恰好為整數,然後參照以下演算法的計算方法(計算5的2003次方)
#include<stdio.h>
#include<string.h>

void main()
{
char ret[2003];
int i, j, temp,
crray = 0;/*進位*/

/*ret初始化*/
memset( ret, '\0', sizeof(char) * 2003 );

/*乘5,做2003次*/
for( i = 1; i <= 2003; i++ )
{
if( i == 1 )
{
/*首次的字元串的賦值*/
ret[0] = '5';
}
else
{
for( j = 0; ; j++ )
{
/*如果有進位,但是該位為空則把該位置成字元0*/
ret[j] = ret[j] == '\0' ? '0' : ret[j];

/*乘5的操作*/
temp = ( ret[j] - '0' ) * 5;
ret[j] = ( ( temp % 10 ) + crray ) + '0';
/*記錄進位*/
crray = temp / 10;

if( ret[j + 1] == '\0' && crray == 0 )
{
break;
}/*end of if*/
}/*end of for*/
}/*end of else*/
}/*end of for*/

/*字元串逆置*/
strrev( ret );

printf( "%s\n", ret );

getch();
}
最後再加小數點,既縮小10的m*n次方倍。

E. C語言編程實現兩個整數的算數運算

#include<iostream.h>
#include<stdio.h>
int main()
{ int a,b;
char ch,pm='Y';
while(pm!='N')
{
cout<<"請輸入第一個數:"<<endl;
cin>>a;
cout<<"請輸入運算符號:"<<endl;
cin>>ch;
cout<<"請輸入第二個數:"<<endl;
cin>>b;
if(ch=='+')
cout<<a+b<<endl;
else if(ch=='-')
cout<<a-b<<endl;
else if(ch=='*')
cout<<a*b<<endl;
else if(ch=='/')
cout<<a/b<<endl;
cout<<"結束輸入N,繼續輸入任意鍵!"<<endl;
pm=getchar();
}
return 1;}
要c++的行嗎?還要換成c嗎?

F. 簡單C語言編程:計算100到1000之間有多少個數,其各位數之和是5

從100到1000之間都是三位數。所以,取通過除法和取余操作,取出個位十位百位上的數值,並加和判斷是否與5相等,即可完成題目中要求的條件。於是流程為:1對100到1000數值進行遍歷。2對每個數進行判斷,如果符合則計數器自加。3輸出結果。代碼如下:#include int main(){ int i,r=0; for(i = 100; i < 1000; i ++) { if(i/100+i%10+i/10%10 == 5) r ++; } printf("%d\n",r);}

G. C語言函數編程實現計算10個數的最大值,要求如下:

#include<stdio.h>
#include<conio.h>

voidarray_input(intarray[],intn);
intmax(intarray[],intn);

intmain(void){
intarray[10];

printf("請輸入10個數據:");
array_input(array,10);

printf("10個元素最大值:%d ",max(array,10));

getch();/*屏幕暫留*/
return0;
}

/*輸入數組*/
voidarray_input(intarray[],intn){
inti;
for(i=0;i<n;i++)
scanf("%d",&array[i]);
putchar(' ');
}

/*計算數組最大值*/
intmax(intarray[],intn){
inti;
intmax=array[0];
for(i=0;i<n;i++){
if(array[i]>max)
max=array[i];
}
returnmax;
}

H. 簡單pascal編程 數的計算 楊輝三角形

第一題:
program count;
const

filename='count';
var

n:integer;

total:longint;

s:string;
procere count_number(x:integer;y:string);

var

i:integer;

s1,s2:string;

begin

for i:=1 to x div 2 do

begin

s1:=y;

str(i,s2);

inc(total);

count_number(i,s1);

end;

end;
begin

assign(input,filename+'.in');

assign(output,filename+'.out');

reset(input);

rewrite(output);

readln(n);

str(n,s);

total:=1;

count_number(n,s);

writeln(total);

close(input);

close(output);
end.
就是通過遞歸,不斷構造數串並同時統計個數

第二題:不知道有沒有樣例,你把題目精簡過頭了,看不懂!

I. C語言編程:輸入兩個整數後計算並輸出乘積

/*源程序如下:*/
#include
int
main()
{
int
x,y,z;/*定義三個數,x,y是輸入的兩個整數,z是用來交換的*/
scanf("%d,%d",
&x,&y);/*輸入兩個數中間用逗號分開*/
printf("原來的數x=%d,y=%d\n",x,y);/*輸出原始數*/
z=x;/*實現交換*/
x=y;
y=z;
printf("交換後的數x=%d,y=%d\n",x,y);/*輸出交換後的數*/
return
0;
}
/*vc++6.0測試結果如下:*/

J. 計算組合數 如何編程

如果是指從m個不同元素中取出n(n≤m)個元素的所有組合的個數 的話
#include"stdio.h"
int fac(int n) /*階乘函數*/
{
int s,i;
s=1;
for(i=1;i<=n;i++)
{
s*=i;
}
return(s);
}

main()
{
int n,m,c;
scanf("%d %d",&m,&n);
c=fac(m)/(fac(n)*fac(m-n));
printf("%d\n",c);
}

用的是C語言

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:564
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:853
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:554
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:732
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:655
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:973
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:226
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:85
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:775
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:681