DAVID J. MALAN: Katakan saya ingin untuk melaksanakan program yang meminta pengguna untuk rentetan dan kemudiannya untuk memanfaatkan input mereka, menukar apa-apa huruf kecil bahawa mereka menaip ke huruf besar. Nah, mari kita pergi ke hadapan dan melaksanakan program itu. Mari pertama termasuk cs50.h diikuti oleh termasuk stdio.h. Dan supaya kita boleh menggunakan strlen, mari kita termasuk string.h. Mari kita seterusnya mengisytiharkan utama tidak sah utama sebagai int dan mari kita kini meneruskan untuk meminta pengguna untuk rentetan. Printf, mari kita meminta mereka untuk input beberapa. Sekarang mari kita mengisytiharkan rentetan - kami akan memanggilnya s - dan menyimpan di dalamnya hasil daripada memanggil fungsi GetString perpustakaan cs50. Sekarang mari kita teruskan untuk melelar atas setiap watak-watak dalam s, mengambil kesempatan apa-apa huruf kecil yang kita lihat. Untuk int, i mendapat 0. Mari kita juga mengaku n sebagai sama dengan panjang tali s supaya kita dapat melelar dari i sehingga n, panjang s, dan pada setiap kenaikan lelaran i. Dan kemudian di dalam gelung ini, mari kita Cek pertama adalah surat semasa - surat i-ke-s, jadi untuk bercakap - huruf kecil. Jika s kurungan i adalah lebih besar daripada atau sama kepada huruf kecil, dan ia kurang daripada atau sama dengan z huruf kecil - Sekarang jika kita mahu menukar huruf kecil a surat kepada huruf besar, ingat pertama yang dalam ASCII yang kecil adalah 97 dan huruf besar adalah 65. Sementara itu, huruf kecil b ialah 98, dan huruf besar B adalah 66. Jika kita terus melihat corak yang, kita akan melihat bahawa huruf kecil yang surat sentiasa 32 nilai-nilai yang lebih tinggi daripada huruf besar. Jadi, jika kita mahu menukar daripada huruf kecil kepada huruf besar, ia perlu memadai, benar-benar, tolak 32 daripada input pengguna. Atau secara umum, hanya tolak yang Perbezaan antara huruf kecil dan satu modal A. Bagaimana untuk menyatakan bahawa? Nah, mari kita melakukannya dalam kod. Printf, quote, unquote "% c" untuk mencetak watak semasa, diikuti oleh percetakan apa sahaja dalam s kurungan i tolak hasil daripada melakukan huruf kecil a tolak huruf besar A koma bertitik. Dalam erti kata lain, kurungan ini bersuara, sedikit tolak besar A, adalah akan kembali kepada kami di akhir hari 32. Tetapi saya tidak perlu ingat bahawa itu 32. Saya boleh membenarkan komputer untuk memikirkan apa perbezaan antara huruf kecil dan modal adalah. Sementara itu, apabila saya tahu perbezaan itu, Saya boleh tolak dari s kurungan i, yang akan mengambil apa yang mungkin huruf kecil kepada nilai yang lebih rendah, iaitu nilai yang memetakan ke yang setara huruf besar. Sekarang mari kita menyimpan, menyusun, dan menjalankan program ini. Buat memanfaatkan dot slash dipermodalkan. Dan input saya akan khabar. Dan kita ada, hello. Sekarang saya segera, diakui, adalah sedikit hodoh, kerana kita telah ditinggalkan satu bit percetakan. Dan mari kita kembali dan menambah bahawa. Di bahagian paling bawah program ini, Saya sangat mudah, dan sebahagian besarnya untuk tujuan estetik, akan menambah printf, quote, unquote garis sendeng terbalik n. Mari kita menyimpan semula fail ini, susun semula, jalankan lagi. Buat kesempatan, slash dot mengambil kesempatan. Sekali lagi, untuk input saya akan menyediakan "hello" dalam kes yang lebih rendah dan semua kini tekan Enter, dan "hello," lebih bersih dicetak.