本文目錄一覽:
- 1、c語言習題,輸入一個正整數,按照從高位到低位的順序輸出各位數字。怎麼做
- 2、C語言習題 求鍵盤輸入的兩個正整數的最大公約數和最小公倍數
- 3、c語言試題 輸入一個三位正整數,將該數的百位,十位,和個位的數分三行輸出 ,並輸出三位數的和
c語言習題,輸入一個正整數,按照從高位到低位的順序輸出各位數字。怎麼做
輸入時由代碼限制只能是正整數,並賦與int型變數n,否則退出;
用一個for循環計算輸入之數的十進位長度,用1之後的0的個數表示並賦與臨時變數t,如10000表示輸入了一個4位十進位正整數;
用一個while循環先後由t/=10和n/t%10來求得從高位至低位的各位數字並輸出。
代碼如下:
#include “stdio.h”
int main(int argc,char *argv[]){
int n,t;
printf(“Please enter a positive integer…\nn=”);
if(scanf(“%d”,n)!=1 || n1){//保證輸入是正整數,否則退出
printf(“Input error, exit…\n”);
return 0;
}
printf(“The result are as follows:\n”);
for(t=10;n/t;t*=10);//求出十進位數n的長度,用1後0的個數表示,如1000表示3位數
while(t/=10)
printf(“%d “,n/t%10);//t/=10與n/t%10配合從高至低輸出各位上的數字
printf(“\n”);
return 0;
}
運行樣例如下:
C語言習題 求鍵盤輸入的兩個正整數的最大公約數和最小公倍數
#includestdio.h
#includestdlib.h
intHCF(intx,inty);//定義最大公約數函數
intLCM(intx,inty);//定義最小公倍數函數
intmain()
{
inta,b;
printf(“Pleaseenter2numbers:”);//輸入兩個整數
scanf(“%d%d”,a,b);
printf(“HCF=%d,LCM=%d\n”,HCF(a,b),LCM(a,b));//輸出最大公約數和最小公倍數
system(“pause”);
return0;
}
//最大公約數函數(利用歐幾里得演算法)
intHCF(intx,inty)
{
for(intz=x%y;z!=0;x=y,y=z,z=x%y);
returny;
}
//最小公倍數函數
intLCM(intx,inty)
{
return(x*y)/HCF(x,y);
}
擴展資料
處理數組n個元素的最大公約數
#includestdio.h
#includestdlib.h
intHCF(intx,inty);
intmain()
{
intn[4],i,temp;
for(i=0;i4;i++){
printf(“PleaseenterNo.%dnumber:”,i+1);
scanf(“%d”,n[i]);
}
for(i=0,temp=n[0];i4;i++)
temp=HCF(temp,n[i]);
printf(“HCF=%d\n”,temp);
system(“pause”);
return0;
}
intHCF(intx,inty)
{
for(intz=x%y;z!=0;x=y,y=z,z=x%y);
returny;
}
c語言試題 輸入一個三位正整數,將該數的百位,十位,和個位的數分三行輸出 ,並輸出三位數的和
只是三位數的話,下面的代碼就可以了!
#includestdio.h
int main()
{
int n;
int a,b,c;
scanf(“%d”,n);
a=n%10;
b=n/10%10;
c=n/100;
printf(“%d\n”,c);
printf(“%d\n”,b);
printf(“%d\n”,a);
printf(“%d+%d+%d=%d\n”,c,b,a,a+b+c);
}
原創文章,作者:FKUH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139657.html