讓使用者輸入正整數N,找出N的所有正因數由小排到大
#include <stdio.h>
int main()
{
int N;
printf("N= ");
scanf("%d", &N);
int number;
for(number=1;number<=N;number++)
{
if(N%number==0)
{
printf("%d", number);
}
}
printf("\n");
return 0;
}
上面的程式碼中我們先讓使用者輸入一個正整數N,讓N輸入鍵盤內,接著我們從一數到N,然後我們在用if過濾條件去看number是否==0是否能整除被除數,如果符合的話我們最後就可以將它印出來並且換行,就是我們要的正因數由小排到大了
#include <stdio.h>
int main()
{
int j=1;
for(j=1;j<=9;j++)
{
printf("2X%d=%d\n", j, j*2);
}
for(j=1;j<=9;j++)
{
printf("3X%d=%d\n", j, j*3);
}
for(j=1;j<=9;j++)
{
printf("4X%d=%d\n", j, j*4);
}
for(j=1;j<=9;j++)
{
printf("5X%d=%d\n", j, j*5);
}
for(j=1;j<=9;j++)
{
printf("6X%d=%d\n", j, j*6);
}
for(j=1;j<=9;j++)
{
printf("7X%d=%d\n", j, j*7);
}
for(j=1;j<=9;j++)
{
printf("8X%d=%d\n", j, j*8);
}
for(j=1;j<=9;j++)
{
printf("9X%d=%d\n", j, j*9);
}
}
上面的程式碼中8個for迴圈我們可以取代72個ptintf,其實我們這8個for的從第二個開始我們只是將前面那個for複製下來改個小數字,我們還可以用另一個for迴圈將重複做的包起來,下程式碼
#include <stdio.h>
int main()
{
int i,j;
for(i=2;i<=9;i++)
{
for(j=1;j<=9;j++)
{
printf("%d*%d=%d\n",i,j,i*j);
}
}
return 0;
}
上面的程式碼就簡潔多了,我們用兩個for迴圈來跑,第一個for跑8次,第二個for跑9次,第一個從2.3..一直跑到9,第二個從1.2..一直跑到9,這樣就能將九九乘法表印出來了
#include <iostream>
using namespace std;
size_t getSize(double *);
int main()
{
double array[20];
cout<<"The number of bytes in the array is "<<sizeof(array);
cout<<"\nThe number of bytes returned by getSize is "
<<getSize(array)<<endl;
}
size_t getSize(double *ptr)
{
return sizeof(ptr);
}
*上面的程式碼中一元運算子sizeof能在程式編譯期間,以位元組為單位計算陣列或任何資料型別的變數或常數大小,當我們將sizeof用於陣列時,sizeof會傳回陣列的位元組數,其型別為size_t無號的整數型別,因為我們第一個cout的是array的20個元素,我們是以8位元組的記憶體型別儲放double的變數,所以我們用了160因為20x8=160,另一個size_t getSize(double )函示裡的是接收陣列的指標參數,所以sizeof運算子會傳回指標的位元組大小4,並且在main的第二個cout印出來