iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

C語言與C++語言自學系列 第 19

C語言與C++語言自學第十九天

  • 分享至 

  • xImage
  •  

C語言找出所有正因數的練習for

讓使用者輸入正整數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是否能整除被除數,如果符合的話我們最後就可以將它印出來並且換行,就是我們要的正因數由小排到大了

C語言印出九九乘法表

#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,這樣就能將九九乘法表印出來了

C++語言指標sizeof運算子

#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印出來


上一篇
C語言與C++語言自學第十八天
下一篇
C語言與C++語言自學第二十天
系列文
C語言與C++語言自學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言