c語言編程題經典100例——(90~95例)

1,寫一個函數,實現數字的加密和解密。

下面是一個簡單的C語言函數,可以實現數字的加密和解密。這個函數采用簡單的加密算法,將輸入的數字乘以一個固定的密鑰,然后加上一個固定的偏移量。解密過程就是將加密后的數字減去偏移量,然后再除以密鑰。

#include <stdio.h>  // 加密函數  
int encrypt(int num, int key, int offset) {  return (num * key) + offset;  
}  // 解密函數  
int decrypt(int encrypted_num, int key, int offset) {  return (encrypted_num - offset) / key;  
}  int main() {  int num = 12345;  int key = 7;  int offset = 100;  // 加密數字  int encrypted_num = encrypt(num, key, offset);  printf("加密后的數字為:%d\n", encrypted_num);  // 解密數字  int decrypted_num = decrypt(encrypted_num, key, offset);  printf("解密后的數字為:%d\n", decrypted_num);  return 0;  
}

在上面的代碼中,encrypt()函數將輸入的數字乘以密鑰并加上偏移量,然后返回加密后的數字。decrypt()函數將加密后的數字減去偏移量,然后除以密鑰,返回解密后的數字。在main()函數中,我們定義了一個輸入的數字、一個密鑰和一個偏移量,然后使用這些參數調用encrypt()decrypt()函數來加密和解密數字。

2,寫一個函數,將一個字符串轉換為整數。

在C語言中,可以使用庫函數?atoi()?來將字符串轉換為整數,前前面好像有一篇寫過這個功能,但用的是庫函數,這里不用。不過下面的代碼不用庫函數實現這個功能:

#include <stdio.h>  
#include <stdlib.h> // for NULL  int string_to_int(char* str) {  int result = 0;  int sign = 1;  // Handle negative numbers  if (*str == '-') {  sign = -1;  str++;  }  // Convert each character to an integer  while (*str != '\0') {  char c = *str - '0';  if (c < 0 || c > 9) {  // If the character is not a digit, return 0  return 0;  }  result = result * 10 + c;  str++;  }  // Apply the sign  return sign * result;  
}  int main() {  char str[] = "-123";  int num = string_to_int(str);  printf("%d\n", num); // Outputs: -123  return 0;  
}

????????這個函數首先檢查字符串的第一個字符是否為負號,然后遍歷字符串的每一個字符,將其轉換為對應的數字,并累加到結果中。最后,根據符號將結果返回。如果字符串中包含非數字的字符,函數將返回0。

3,寫一個函數,將一個整數轉換為字符串。

下面的功能,也是用不同的方式實現。

#include <stdio.h>  
#include <stdlib.h>  char* int_to_str(int num) {  int i = 0;  int sign = num < 0 ? -1 : 1;  int abs_num = sign * num;  char* str = (char*)malloc(32 * sizeof(char));  if (str == NULL) {  printf("Memory allocation failed.\n");  exit(1);  }  while (abs_num > 0) {  int rem = abs_num % 10;  str[i++] = '0' + rem;  abs_num /= 10;  }  if (sign < 0) {  str[i++] = '-';  }  str[i] = '\0';  int j = i - 1;  while (j >= 0 && str[j] == '0') {  j--;  }  if (j < 0) {  str[0] = '\0';  } else {  for (int k = 0; k < j; k++) {  str[k] = str[j--];  }  str[j] = '\0';  }  return str;  
}

????????該函數首先判斷輸入的整數是否為負數,如果是負數則取其絕對值,否則直接取其絕對值。然后,使用循環將整數轉換為字符串,每次取余數并將其轉換為字符存儲到字符串中,最后將字符串返回。在返回之前,函數會將其符號處理后返回。此外,函數還會對字符串進行優化,刪除多余的零。

4,寫一個函數,判斷一個數字是否為偶數或奇數。

可以寫一個函數來判斷一個數字是偶數還是奇數。以下是一個簡單的示例:

#include <stdio.h>  // 判斷數字是偶數還是奇數  
void checkNumber(int num) {  if (num % 2 == 0) {  printf("%d 是偶數\n", num);  } else {  printf("%d 是奇數\n", num);  }  
}  int main() {  int num;  printf("請輸入一個數字: ");  scanf("%d", &num);  checkNumber(num);  return 0;  
}

????????在這個程序中,我們首先定義了一個函數?checkNumber,它接收一個整數作為參數,并使用模數運算符?%?來檢查這個數是否可被2整除。如果數字可以被2整除,那么它就是偶數,否則它就是奇數。然后,我們從用戶那里獲取一個數字,并使用?checkNumber?函數來檢查這個數字是偶數還是奇數。

5,寫一個函數,求一個立方數的和。

#include <stdio.h>  int sumOfCubes(int n) {  int sum = 0;  for (int i = 1; i <= n; i++) {  sum += i * i * i;  }  return sum;  
}  int main() {  int n = 10;  int result = sumOfCubes(n);  printf("The sum of cubes from 1 to %d is %d\n", n, result);  return 0;  
}

????????這個函數使用一個循環來計算從1到給定數字n的每個整數的立方和。最后,它返回這個和。在主函數中,我們調用這個函數并打印結果。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210173.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210173.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210173.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《C++新經典設計模式》之第18章 備忘錄模式

《C新經典設計模式》之第18章 備忘錄模式 備忘錄模式.cpp 備忘錄模式.cpp #include <iostream> #include <vector> #include <memory> using namespace std;// 保存對象內部狀態&#xff0c;必要時恢復 // 在不破壞封裝性的前提下&#xff0c;捕獲對象的內部…

(C)一些題11

1. #include<stdio.h> #include<string.h> void main() { char *s1"ABCDEF"&#xff0c;*s2"aB"&#xff1b; s1; s2; puts(s1)&#xff1b; puts(s2)&#xff1b; printf("%d\n",strcmp(s1,s2))&#xff1b; } 答案&#xff1…

【密碼學引論】認證

認證是許多應用系統中安全保護的第一道設防認證和加密的區別&#xff1a;加密用來確保數據的保密性&#xff0c;而認證用來確保報文發送者和接受者的真實性和報文的完整性。認證和數字簽名的區別&#xff1a; 認證總是基于某種收發雙方共享的保密數據來認證被鑒別對象的真實性&…

關于linux開機自啟動

1、系統啟動流程 2、 init、 inittab、 init.d、 rcx.d /etc/inittab是Linux系統中的一個配置文件&#xff0c;用于定義系統的運行級別和相應的操作。其語法格式如下&#xff1a; 標簽&#xff1a;運行級別&#xff1a;操作&#xff1a;進程 label:runlevel:action:process下面…

每天一點python——day90

#每天一點Python——90 #類的創建 創建類的語法&#xff1a; class 類名&#xff1a;pass【縮進之后寫類里面的內容】 [類里面寫什么沒有想好之前&#xff0c;可以用pass進行占位.可以不報錯]#演示&#xff1a; class Lei:pass #以上就上一個類被創建的樣例注意事項&#xff1a…

PHP基礎 - 注釋變量

一. 語言開始標識 在PHP中,文件的開頭需要使用語言開始標識來指定該文件是PHP代碼。標識通常為"<?php",也可以是"<?",但建議使用"<?php"以確保代碼的兼容性和可讀性。 <?php // PHP代碼從這里開始寫 二. PHP注釋 注釋是用…

[英語學習][11][Word Power Made Easy]的精讀與翻譯優化

[序言] 這次翻譯, 譯者有點點水平. 有些比較難表達的, 都能正確地翻譯出來. 但有點很奇怪, 難的地方譯者翻譯正確, 容易的地方又錯了. [英文學習的目標] 提升自身的英語水平, 對日后編程技能的提升有很大幫助. 希望大家這次能學到東西, 同時加入我的社區討論與交流英語相關的…

遇到這個問題怎么辦

1. 問題現象 話說近日博主的團隊中&#xff0c;有一個小盆友遇到了一個問題&#xff0c;即使用RSA進行加解密的時候&#xff0c;拋異常了&#xff1a; java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: DerInputStream.getLeng…

高防CDN:在保障服務器與網站成本的角度的智慧選擇

隨著網絡攻擊的不斷升級和演變&#xff0c;保障服務器與網站安全成為了企業不可忽視的重要問題。高防CDN&#xff08;內容分發網絡&#xff09;技術應運而生&#xff0c;為服務器與網站的穩定運行提供了全面而有效的保護。本文將從服務器與網站成本的角度深入分析高防CDN在降低…

【Python】Faker庫詳解:創建測試數據輕而易舉

Python Faker庫詳解&#xff1a;創建測試數據輕而易舉 在軟件開發和測試過程中&#xff0c;通常需要大量的測試數據來模擬真實環境。Python的Faker庫為開發者提供了一個方便、靈活且強大的工具&#xff0c;用于生成各種虛構數據。本文將深入介紹Faker庫&#xff0c;演示其基本…

十一、了解分布式計算

1、什么是&#xff08;數據&#xff09;計算&#xff1f; 2、分布式(數據)計算 &#xff08;1&#xff09;概念 顧名思義&#xff0c;分布式計算&#xff0c;即以分布式的形式完成數據的統計&#xff0c;得到需要的結果。 分布式數據計算&#xff0c;顧名思義&#xff0c;就是…

c語言選擇排序總結(詳解)

選擇排序cpp文件項目結構截圖 項目cpp文件截圖 項目具體代碼截圖 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <math.h> #include <iostream> #include <string.h> #include <time.h> #include &…

Java發展史

Java發展史 Java歷史的幾個重要節點&#xff1a; 1990&#xff0c;Sun公司啟動了一個名為“綠色計劃”的項目&#xff0c;由James Gosling等領導&#xff0c;目標是開發一種可以在機頂盒等消費性電子產品上運行的程序架構。這個計劃產生了Java的前身&#xff1a;Oak&#xff…

Java八股文面試全套真題【含答案】-XML篇

XML 是什么&#xff1f;它的全稱是什么&#xff1f; 答案&#xff1a;XML&#xff08;可擴展標記語言&#xff09;是一種用于描述數據的標記語言&#xff0c;用于存儲和交換結構化的信息。XML 的全稱是 eXtensible Markup Language。XML 和 HTML 有什么區別&#xff1f; 答案&a…

看圖學源碼 之 ConcurrentHashMap put、get、remove、clear、擴容等相關方法的源碼分析

ConcurrentHashMap 引入 HashMap 的弊端 多線程下是不安全的&#xff0c;是有死循環的 JDK1.7 的時候會使用頭插法將新的節點增加到頭部&#xff0c;那么就會造成鏈表翻轉成為了閉環&#xff0c;就是所謂的死循環。 JDK1.8之后使用的是尾插法&#xff0c;因此不會造成環形鏈…

京東數據運營:京東API接口有哪些?京東數據如何采集調用?

市場分析對于電商品牌來說非常重要&#xff0c;它可以幫助電商品牌更好地理解市場&#xff0c;把握市場機會&#xff0c;以及制定有效的產品定價、產品營銷策略等等。 結合市場中可以幫助品牌方做市場分析的電商數據分析工具——鯨參謀電商數據分析平臺&#xff0c;我們一起具體…

在Mac上安裝Windows應用程序的簡便方法:CrossOver for Mac

對于許多Mac用戶來說&#xff0c;有時候他們可能需要使用一些只有在Windows上才能找到的應用程序。以前&#xff0c;解決這個問題的方法是通過安裝Windows虛擬機或使用雙系統來在Mac上運行Windows應用程序。但這些方法需要額外的硬件資源和時間來配置&#xff0c;并且可能會導致…

IOT安全學習路標

1. 物聯網基礎知識 首先&#xff0c;你需要建立堅實的物聯網基礎知識&#xff0c;包括IoT的架構和組件&#xff0c;傳感器和設備的連接和通信技術&#xff0c;云端和邊緣計算等。 2. 通信和網絡安全 學習關于物聯網通信和網絡安全的基礎知識&#xff0c;包括加密和認證技術、…

通俗解釋一下“強靜態類型”

我寫軟件已經有 20 多年了&#xff0c;隨著時間的推移&#xff0c;我越來越確信強靜態類型不僅是一個好主意&#xff0c;而且幾乎總是正確的選擇。 非類型化語言(或語言變體)肯定有用途&#xff0c;例如&#xff0c;當使用 REPL 時&#xff0c;或者在已經無可救藥的無類型環境(…

有什么進銷存軟件能對接微信小程序?

有什么進銷存軟件能對接微信小程序&#xff1f; 據我所知&#xff0c;很多進銷存軟件都有配套的微信小程序吧。 以我們現在用的這個為例&#xff0c;這也是同行推薦過來的&#xff0c;很好用&#xff0c;而且性價比很高—— 在線平臺&#xff0c;無需下載APP&#xff0c;搭載…