#include<stdio.h>
int main(void)
{
unsignedlongnum;?
unsignedlongdiv;?
intisPrime;//素數的標誌,1代表是素數,0代表不是素數
printf("Pleaseenteranintegerforanalysis.");
printf("Enterqtoquit.\n");
while(scanf("%lu",&num)==1&&num!=1)
{
for(div=2,isPrime=1;(div*div)<=num;div++){
if(num%div==0){//如果能被div整除
if((div*div)!=num){//約數不相等
printf("%luisdivisibleby%luand%lu.\n",num,div,num/div);
}else{//約數相同
printf("%luisdivisibleby%lu.\n",num,div);
}
//將isPrime設置為0,表示其不是壹個素數
isPrime=0;
}
}
if(isPrime==1){
printf("%lu是素數.\n",num);
}
printf("Pleaseenteranotherintegerforanalysis.");
printf("Enterqtoquit.\n");
}
printf("Bye.\n");
return0;
}
運行效果:
擴展資料:
printf()函數用法:
在C語言中,有三個函數可以用來在顯示器上輸出數據,它們分別是:
1、puts():只能輸出字符串,並且輸出結束後會自動換行。
2、putchar():只能輸出單個字符。
3、printf():可以輸出各種類型的數據。
printf() 是最靈活、最復雜、最常用的輸出函數,完全可以替代 puts() 和 putchar(),
舉例:
#include<stdio.h>
int main()
{
printf("這是我的博客:\n");
printf("www.yuanshi***.top\n");
return 0;
}
printf() 格式控制符的完整形式如下:
%[flag][width][.precision]type
[ ] 表示此處的內容可有可無,是可以省略的。
1) type 表示輸出類型,比如 %d、%f、%c、%lf,type 就分別對應 d、f、c、lf;
type 這壹項必須有,這意味著輸出時必須要知道是什麽類型。
2) width 表示最小輸出寬度,也就是至少占用幾個字符的位置;
首先匯總壹下用到的格式控制符:
%c輸出壹個單壹的字符
%hd、%d、%ld以十進制、有符號的形式輸出 short、int、long 類型的整數
%hu、%u、%lu以十進制、無符號的形式輸出 short、int、long 類型的整數
%ho、%o、%lo以八進制、不帶前綴、無符號的形式輸出 short、int、long 類型的整數
%hx、%x、%lx%hX、%X、%lX以十六進制、不帶前綴、無符號的形式輸出 short、int、long 類型的整數。如果 x 小寫,那麽輸出的十六進制數字也小寫;如果 X 大寫,那麽輸出的十六進制數字也大寫。
%f、%lf以十進制的形式輸出 float、double 類型的小數;%e、%le%E、%lE以指數的形式輸出 float、double 類型的小數。如果 e 小寫,那麽輸出結果中的 e 也小寫;如果 E 大寫,那麽輸出結果中的 E 也大寫。
%g、%lg%G、%lG以十進制和指數中較短的形式輸出 float、double 類型的小數,並且小數部分的最後不會添加多余的 0。如果 g 小寫,那麽當以指數形式輸出時 e 也小寫;如果 G 大寫,那麽當以指數形式輸出時 E 也大寫。
%s輸出壹個字符串。