本文目錄一覽:
如何用C語言拆分整數?
將一個整數的各個位分離出來的最簡單方法就是模10,取個位數,直到該變為0。
參考代碼:
#include stdio.h
void main()
{
int n=0;
scanf(“%d”, n );
do {
printf(“%d\n”, n%10 ); //每次輸出個位
n/=10 ; //縮小10倍,去除原來的個位。
}while(n);
}
但這整拆分的特點是從後向前輸出每一位數。
如果僅是為了輸出,還想正向輸出每一位數,則可用遞歸函數來解決。(也可以實現逆向輸出)
參考代碼:
#include stdio.h
void split_int( int n )
{
if ( n0 )
{
//printf(“%d\n”, n%10 );//逆向輸出,放開這裡,關閉下面的printf().即:先輸出當前個位,再去高位的數
split_int( n/10 );//先去輸出高位的數
printf(“%d\n”, n%10 ); //再輸出當前的個位數
}
}
void main()
{
int n;
scanf(“%d”, n);
split_int(n);
}
如果想把分離開的數據存儲到數組中,則最簡單的方法是將整數用sprintf()存儲到字元數組中,然後,遍曆數組,逐位取出。
參考代碼:
#include stdio.h
void main()
{
int n,i;
char str[20];
scanf(“%d”, n);
sprintf(str,”%d”, n);
for( i=0;str[i];i++ ) //正向輸出
printf(“%c\n”, str[i] );
for( i–;i=0;i– ) //逆向輸出
printf(“%c\n”, str[i] );
}
C語言 因式分解
#includestdio.h
#includestdlib.h
#includestring.h
unsigned int m=2;
unsigned int cnt=1;
void Factor(int n, char *msg, char printYes);
int main()
{
char s[100]={0};
char flag=’y’;
printf(“——求整數的因式分解——\n請輸入正整數m(1):”);
scanf(“%u”, m);
printf(“列印詳細分解情況嗎?[y|n,回車列印]”);
scanf(“%*c%c”,flag);
if(m1)
{
printf(“error input!\n”);
exit(-1);
}
if(flag!=’n’)
printf(“%d = %d \n”, m,m);
Factor(m, s,flag);
if(cnt==1)
printf(“\n%d是素數\n”,m);
printf(“\n——“);
printf(“一共有%d種”, cnt);
printf(“——\n”);
return 0;
}
void Factor(int n, char *msg,char printYes)
{
char s2[100]={0};//保存當前分解的部分結果
if(n==1)
return ;
for(int i=2;in;i++)
{
if (n%i==0)
{
if(n==m)
sprintf(msg, “%d = “, m);
sprintf(s2,”%s %d * “,msg, i);//因式分解部分結果保存在字元串s2中
if(printYes!=’n’)
printf(“%s %d\n”,s2,n/i);//列印結果(包括最後一個因子)
Factor(n/i,s2,printYes);
cnt++;
}
}
}
C語言分解質因數
#include stdio.h
int main(){
int n; // 用戶輸入的整數
int i; // 循環標誌
printf(“輸入一個整數:”);
scanf(“%d”,n);
printf(“%d=”,n);
// n=2才執行下面的循環
for(i=2; i=n; i++){
while(n!=i){
if(n%i==0){
printf(“%d*”,i);
n=n/i;
}else
break;
}
}
printf(“%d\n”,n);
return 0;
}
將一個正整數分解質因數。
程序分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
1、如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。
2、如果nk,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。
3、如果n不能被k整除,則用k+1作為k的值,重複執行第一步。
C語言,是一種通用的、過程式的編程語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。最近25年是使用最為廣泛的編程語言。
C語言
C語言是由UNIX的研製者丹尼斯·里奇(Dennis Ritchie)於1970年 由 肯·湯普遜(Ken Thompson)所研製出的B語言的基礎上發展和完善起來的。目前,C語言編譯器普遍存在於各種不同的操作系統中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C語言的設計影響了許多後來的編程語言,例如C++、Objective-C、Java、C#等。
C語言中怎樣分解5位數? C語言分解數字教程
1、具體步驟如下:假設這個數是x,寫出來的形式是abced(a是萬位,b是千位,c是百位數等等)
2、a=x整除10000
3、b=(x-a*10000)整除1000
4、c=(x-a*10000-b*1000)整除100
c語言將一個正整數分解質因數,望高手幫我詳細解釋一下程序?
1、首先打開vc6.0, 新建一個vc項目,添加頭文件。
2、添加main主函數,如下圖所示。
3、然後定義 n, i 兩個變數,如下圖所示。
4、接著使用scanf給n賦值,使用for循環。
5、然後用while作為內層循環,使用printf列印i。
6、最後使用if條件語句,運行程序,如下圖所示,正整數分解為質因子就完成了。
原創文章,作者:YTYE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136905.html