c語言實用經典100題(1-10題)
1.程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。
2.程式原始碼:
【程式2】題目:企業發放的獎金根據利潤提成。利潤(i)低於或等於10萬元時,獎金可提10%;利潤高 於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提 成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤i,求應發放獎金總數?#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int i, j, k; for(i = 1; i < 5; i++) { for(j = 1; j < 5; j++) { for(k = 1; k < 5; k++) { if(i != j && i != k && j != k) { printf("%d%d%d\n" , i , j , k); } } } } return 0; }
1.程式分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
2.程式原始碼:
【程式3】題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03; else if(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); return 0; }
1.程式分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後 的結果滿足如下條件,即是結果。請看具體分析:
2.程式原始碼:
【程式4】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() { long int i, x, y, z; for(i = 0; i < 100000; i++) { x = sqrt(i + 100); y = sqrt(i + 268); if(x*x == (i + 100) && y*y == (i + 268)) //完全平方數:自己*自己=數的平方形式 { printf("\n%ld\n",i); } } return 0; }
1.程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊 情況,閏年且輸入月份大於3時需考慮多加一天。
2.程式原始碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int year, month, day, sum, leap;
printf("輸入格式為:年-月-日\n");
scanf("%d-%d-%d", &year,&month,&day);
switch(month)
{
case 1:
sum = 0;
break;
case 2:
sum = 31;
break;
case 3:
sum = 59;
break;
case 4:
sum = 90;
break;
case 5:
sum = 120;
break;
case 6:
sum = 151;
break;
case 7:
sum = 181;
break;
case 8:
sum = 212;
break;
case 9:
sum = 243;
break;
case 10:
sum = 273;
break;
case 11:
sum = 304;
break;
case 12:
sum = 334;
break;
}
sum += day;
if(year%400 == 0 || (year%4 == 0 && year%100 != 0))
leap = 1;
else
leap = 0;
if(leap = 1 && month > 2)
sum++;
printf("這一天是這一年的第%d天" , sum);
return 0;
}
【程式5】題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。1.程式分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換, 然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。
2.程式原始碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int x, y, z, t;
scanf("%d,%d,%d" , &x,&y,&z);
if(x > y)
{
t = x;
x = y;
y = t;
}
if(x > z)
{
t = x;
x = z;
z = t;
}
if(y > z)
{
t = y;
y = z;
z = t;
}
printf("\n%d,%d,%d\n" , x, y,z);
return 0;
}
【程式6】題目:用*號輸出字母c的圖案。1.程式分析:可先用'*'號在紙上寫出字母c,再分行輸出。
2.程式原始碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
return 0;
}
【程式7】題目:輸出特殊圖案,請在c環境中執行,看一看,very beautiful!1.程式分析:字元共有256個。不同字元,圖形不一樣。
2.程式原始碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
char a=2,b=4;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);
return 0;
}
【程式8】題目:輸出9*9口訣。1.程式分析:分行與列考慮,共9行9列,i控制行,j控制列。
2.程式原始碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int i, j, r;
for(i = 1; i <= 9; i++)
{
for(j = 1; j <= 9; j++)
{
r = i*j;
printf("%d*%d=%-3d",i,j,r);
}
printf("\n");
}
return 0;
}
【程式9】題目:要求輸出國際象棋棋盤。1.程式分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。
2.程式原始碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int i,j;
for(i = 0; i < 8; i++)
{
for(j = 0; j < 8; j++)
{
if((i+j)%2 == 0)
printf("%c%c" , 1,1);
else
printf(" ");
}
printf("\n");
}
return 0;
}
【程式10】題目:列印樓梯,同時在樓梯上方列印兩個笑臉。1.程式分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。
2.程式原始碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int i,j;
printf("\1\1\n");/*輸出兩個笑臉*/
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
printf("%c%c",19,19);
printf("\n");
}
return 0;
}
相關推薦
c語言實用經典100題(1-10題)
【程式1】題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?1.程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。2.程式原始碼:#include<stdio.h> #in
c語言程式設計常見問題總結(1)
總結1: 將全域性變數放在會被多次呼叫的標頭檔案中,編譯會報錯:該變數被多次定義,所以是最好把全域性變數放在.c檔案中。 總結2: Getche()函式,輸入後立即從控制檯取字元,不以回車為結束(帶回顯); Getch()是一個不回顯函式,當用戶按下某個字元時,函式自動讀
c語言遞迴演算法--深入淺出(1)
RECURSION EXERCISES 1 (遞迴練習1) 前言:資質駑鈍,剛剛學習遞迴的時候總是感覺有點空洞,懸乎。 可能沒有足夠例題練練手。最近找了幾道有難度層次的遞迴例題,在此分享給大家。 S
開啟C語言【困難模式】(1)
前言 談到C語言,很多人都會笑笑,好像C語言看起來很平凡,很普通,很大眾。然而值得注意的是,這是一門極其底層的語言,可以直接調用匯編語句,使用系統函式。不論是系統開發,驅動開發,作業系統還是緩衝區溢位攻擊等,C語言永遠是理解萬物的基石。 說來慚愧,博主此刻距離C語言的第一堂課已兩年有餘,
C語言入門經典——基礎知識(資料型別)
一、讀取資料的格式說明符讀取資料的格式說明符操作 需要的控制字串讀取short型別的資料 sizeof(short) = 2 sizeof(unsigned short) = 2%hd讀取int型別的資料 sizeof(int) = 4 s
實現一個C語言版的JSON庫(1)
什麼是JSON JSON(JavaScript Object Notation)是一個用於資料交換的文字格式,它源至於 JavaScript 語言,但它本身只是一種資料格式,可用於任何程式語言。現時具類似功能的格式有 XML等。 一個典型的JSON文字如下:
c語言中的特殊符號(結構體中)
結合 特殊 value -s height 間接尋址 出現 span size 在“結構”中出現的->運算符成為“右箭頭選擇”,可以用new_node->value = 10;來代替(*new_code).value = 10;即運算符->是運算符*和運
匯編語言筆記(1-10章)
多少 read 範圍 exe 第一步 指令 裏的 方便 執行文件 第一章重點:匯編指令和機器指令一一對應,有編譯器翻譯識別,計算機無法直接識別一個存儲單元等於1字節 1字節等於8位1KB=1024Byte(字節)1Byte=8bit(位)CPU中,指令和數據都是二進制形式存
《C程式設計習慣》讀書筆記(1-6章)
最近在看兩本國人寫的書:C程式設計習慣、Linux C程式設計。越看越發現如獲至寶。有時真覺得,看國外的書,都能將晦澀概念深入淺出解釋通透,而國內的書,能切合國人的習慣來解釋和應用知識。以前只青睞國外的書,這兩本國內的電子書本來只想簡單瀏覽一遍鞏固基礎,現在越看越想做讀書筆記,因為實在是很多看似
【C語言】實現一個計算器(兩種方式)
1.使用switch…case…語句實現 #define _CRT_SECURE_NO_DEPRECATE 1 #include <stdio.h> #include <stdlib.h> int add(int x, int y) { &nb
ubuntu下c語言對mysql進行CRUD(增刪改查)
Step 1:登入mysql mysql -u root -p Step 2:在資料庫中新增資料: create database foo; use foo; CREATE TABLE children( childno int(11) NOT NULL
用C語言實現簡單 三子棋(井字棋)小遊戲
函式頭 放在標頭檔案裡 #ifndef __GAME_H__ #define __GAME_H__ #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #inc
# C++面向物件程式設計50道程式設計題(第10題)
C++面向物件程式設計50道程式設計題(第10題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
《C語言程式設計:現代方法(第2版)(K.N.King 著)》學習筆記一:C語言概述
1.1 C語言的歷史 1.1.1 起源 C語言是美國貝爾實驗室的 Dennis Ritchie、Ken Thompson 等人為開發 UNIX 作業系統而於 1972 年設計的一種計算機程式語言。
《C語言程式設計:現代方法(第2版)(K.N.King 著)》學習筆記三:C語言基本概念(2)
2.3 註釋 每一個程式都應該包含識別資訊,即程式名、編寫日期、作者、程式的用途以及其他相關資訊。C語言把這類資訊放在註釋(comment)中。 符號 /* 標記註釋的開始,而符號 */ 則標記註釋
《C語言程式設計:現代方法(第2版)(K.N.King 著)》學習筆記四:C語言基本概念(3)
2.5 讀入輸入 為了獲取輸入,就要用到 scanf 函式。它是C函式庫中與 printf 相對應的函式。scanf 中的字母 f 和 printf 中的字母 f 含義相同,都是表示“格式化”的意思
《C語言程式設計:現代方法(第2版)(K.N.King 著)》學習筆記五:C語言基本概念(4)
2.7 識別符號 在編寫程式時,需要對變數、函式、巨集和其他實體進行命名。這些名字稱為識別符號(identifier)。在C語言中,識別符號可以含有字母、數字和下劃線,但是必須以字母或者下劃線開頭。
《C語言程式設計:現代方法(第2版)(K.N.King 著)》學習筆記六:C語言基本概念(5)
問與答 GCC 最初是 GNU C Compiler 的簡稱。現在指 GNU Compiler Collection,這是因為最新版本的 GCC 能夠編譯用 Ada、C、C++、Fortran、Ja
python入門100例(1-10)
純個人練習,熟悉一下python。 程式:1-10 """ 【程式1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? """ for i in range(1,5): for j in range(1,5):
《C語言程式設計:現代方法(第2版)(K.N.King 著)》學習筆記九:格式化輸入/輸出(2)
3.2 scanf 函式 就如同 printf 函式用特定的格式顯示輸出一樣,scanf 函式也根據特定的格式讀取輸入。像 printf 函式的格式串一樣,scanf 函式的格式串也可以包含普通字元