c语言必背代码百度云,c语言初学必背代码.docx
c語言初學必背代碼.docx
下載提示(請認真閱讀)1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內容而直接下載帶來的問題本站不予受理。
2.下載的文檔,不會出現我們的網址水印。
3、該文檔所得收入(下載+內容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領!既往收益都歸您。
文檔包含非法信息?點此舉報后獲取現金獎勵!
下載文檔到電腦,查找使用更方便
13
積分
還剩頁未讀,繼續(xù)閱讀
關?鍵?詞:C語言源代碼
資源描述:
//1.成績判斷
#include int main()
{
//成績
int score;
printf("請輸入你的成績:\n");
scanf("%d", &score);
//判斷
if(score >=0 && score < 60)
{
printf("不及格\n");
}
else if(60 <= score && score < 80)
{
printf("中等\n");
}
else if(80 <= score && score < 100)
{
printf("優(yōu)秀\n");
}
else
{
printf("輸入錯誤!\n");
}
}
//2.計算1到100的和
#include int main()
{
int sum = 0;//存結果變量
int i;
for(i=1;i <= 100;i++)
{
sum = sum + i;
}
printf("sum=%d\n", sum);
}
//3.最大公約數
#include //求m,n的最大公約數
int main()
{
int m, n;
int i, k;
printf("請輸入兩個數:");
scanf("%d %d", &m, &n);
//三元運算符找較小的那個
k = m < n ? m : n;
//從較小的那個數倒著往前找
for(i=k; i>=1; i--)
{
//這是公約數
if((m % i == 0) && (n % i ==0))
{
printf("最大公約數是%d\n", i);
break;//跳出for循環(huán)
}
}
}
//4.最小公倍數
#include //求m,n的最小公倍數
int main()
{
int m, n;
int max, min;//m,n中較大,較小的那個
int k;//max, 2*max, 3*max, .....
printf("請輸入兩個數:");
scanf("%d %d", &m, &n);
//也可以交換m,n,保證m小n大
max = m > n ? m : n;
min = m < n ? m : n;
k = max;//從max開始
while(k % min != 0)
{
k += max;//每次倍增
}
printf("最小公倍數是%d\n", k);
}
//5.金字塔
#include //金字塔
int main()
{
int i;//外層
int j;//內層
for(i=1;i<=10;i++)
{
//當前是在第i行
//先補空格10-i個
for(j=1;j<=10-i;j++)
{
printf(" ");
}
//再打2i-1個*
for(j=1;j<=2*i-1;j++)
{
printf("*");
}
printf("\n");
}
}
//6.九九乘法表
#include //打印九九乘法表
int main()
{
int i,j;
for(i=1;i<=9;i++)//外層一定是9行
{
for(j=1; j<=i; j++)//內層第幾行走幾遍
{
printf("%d*%d=%d ", i, j, i*j);
}
printf("\n");
}
}
//7.百錢買百雞
#include /**
百錢買百雞,類似1,2,5湊100銀幣問題
*/
int main2()
{
int i,j;//公雞,母雞個數
for(i=0; i<=20; i++)//公雞
{
for(j=0; j<=33; j++)//母雞
{
if( (15*i + 9*j + (100-i-j)) == 300)
{
printf("公雞%d,母雞%d,小雞%d\n", i, j, 100-i-j);
}
}
}
}
//1,2,5湊100銀幣問題
int main3()
{
int count = 0;//情況數
int i,j;//5分個數,2分個數
for(i=0; i<=20; i++)//5分個數
{
for(j=0; j<=50; j++)//2分個數
{
if( ( 5*i + 2*j ) <= 100 )
{
count++;
printf("%d: 5分%d個,2分%d個,1分%d個\n", count, i, j, 100-5*i-2*j);
}
}
}
}
//8.一維數組的最大值、最小值、平均值
#include #define N 10//宏定義常量
int main()
{
int i;//下標索引
int max, min;
double sum = 0;//累加和
int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};
max = a[0];//假設第一個最大
min = a[0];//假設第一個最小
for(i=1; imax)//比最大值還大
max = a[i];//你才是最大
if(a[i] < min)//比最小值還小
min = a[i];//你才是最小
sum += a[i];
}
printf("max=%d, min=%d\n", max, min);
printf("average = %.2lf\n", sum/N);
}
//9.二維數組的最大值、最小值、平均值
#include int main()
{
int i; //第幾行
int j; //第幾列
int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};
int max = a[0][0];//假設你最大
int min = a[0][0];//假設你最小
double average;//平均值
double sum = 0; //總和
for(i=0; i<3; i++)//必定3行
{
for(j=0; j<4; j++)//必定4列
{
printf("%5d ", a[i][j]);
sum += a[i][j];
if(a[i][j] > max)
max = a[i][j];
if(a[i][j] < min)
min = a[i][j];
}
printf("\n");
}
average = sum / (3*4);
printf("max=%d, min=%d, avg=%.2lf\n", max, min, average);
}
//10.二維數組轉置
#include //二維數組轉置:行變列,列變行
int main()
{
int i; //第幾行
int j; //第幾列
int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};
int b[4][3];
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
{
printf("%5d", a[i][j]);
}
printf("\n");
}
//矩陣轉置
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
{
b[j][i] = a[i][j];
}
}
for(i=0; i<4; i++)
{
for(j=0; j<3; j++)
{
printf("%5d", b[i][j]);
}
printf("\n");
}
}
//11.冒泡排序
#include #define N 10//宏定義常量
int main()
{
int i;//下標索引
int j;
int tmp;//臨時交換用
int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};
//外層循環(huán)一定是N-1
for(i=0; ia[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
for(i=0; i//結構定義,用戶自定義類型
typedef struct student{
char sno[20];//學號
char name[20];//姓名
int age;//年齡
char gender;//性別
char tel[20];//電話
};
int main()
{
int i;
int j;
double sum = 0;
struct student tmp;//兩兩交換臨時用;
//結構數組
struct student team[5];
for(i=0; i<5; i++)
{
printf("請輸入第%d個隊員的信息:\n", i+1);
scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);
}
//按年齡冒泡排序
for(i=0; i<5; i++)
{
for(j=0; j<5-i-1; j++)
{
//兩兩交換
if(team[j].age > team[j+1].age)
{
tmp = team[j];
team[j] = team[j+1];
team[j+1] = tmp;
}
}
}
//取值
printf("%-12s %-10s %-5s %-5s %-15s\n", "學號", "姓名", "年齡", "性別", "電話");
for(i=0; i<5; i++)
{
printf("%-12s %-10s %-5d %-5c %-15s\n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);
}
}
//13.結構數組找年齡最大值
#include //結構定義,用戶自定義類型
typedef struct student{
char sno[20];//學號
char name[20];//姓名
int age;//年齡
char gender;//性別
char tel[20];//電話
};
int main()
{
int i;
struct student tmp;//找最大臨時用
//結構數組
struct student team[5];
for(i=0; i<5; i++)
{
printf("請輸入第%d個隊員的信息:\n", i+1);
scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);
}
//取值
printf("%-12s %-10s %-5s %-5s %-15s\n", "學號", "姓名", "年齡", "性別", "電話");
for(i=0; i<5; i++)
{
printf("%-12s %-10s %-5d %-5c %-15s\n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);
}
//找學號最大的那一個
tmp = team[0];
for(i=1; i<5; i++)
{
if(strcmp(team[i].sno,tmp.sno) > 0 )
{
tmp = team[i];
}
}
printf("學號最大的隊員如下:\n");
printf("%-12s %-10s %-5d %-5c %-15s\n", tmp.sno, tmp.name, tmp.age, tmp.gender, tmp.tel);
}
//14.文件讀寫
#include #include //結構定義,用戶自定義類型
typedef struct student{
char sno[20];//學號
char name[20];//姓名
int age;//年齡
char gender;//性別
char tel[20];//電話
};
//文件讀寫
int main()
{
struct student * s, * p1;//個數未知
FILE * fp;
int i, n = 0;
char buf[1024];//fgets緩沖區(qū)
//打開文件
fp = fopen("e:\\test.txt", "r");
while(fgets(buf, 1024, fp) != NULL)
n++;
fclose(fp);
//指向一個可以存儲n個student結構的內存空間
s = (struct student *)malloc(sizeof(struct student) * n);
p1 = s;//不要動頭位置s的值
//打開文件
fp = fopen("e:\\test.txt", "r");
for(i=0; isno, p1->name, &p1->age, &p1->gender, p1->tel);
p1++;
}
fclose(fp);
p1 = s;
for(i=0; i<3; i++)
{
printf("%s %s %d %c %s\n", p1->sno, p1->name, p1->age, p1->gender, p1->tel);
}
free(s);
}
//15.輸入三角形三邊長計算周長和面積
#include#includeint main()
{
double area,perimeter,s,a,b,c;
printf("請輸入三邊長 a b c:");
scanf("%lf%lf%lf",&a,&b,&c);
if((a+b>c) && (a+c>b) && (b+c>a))
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=a+b+c;
printf("area=%.2f,perimeter=%.2f\n",area,perimeter);
}
else
{
printf("三邊長無法構成三角形。\n");
}
return 0;
}
//16.輸入年份和月份輸出對應那一月的天數,要處理閏年
#include
int main()
{
int year,month;
int leap =0;
scanf("%d %d",&year,&month);
if((year %4==0 && year %100 !=0) || year %400 ==0) //閏年2月29天
{
leap=1;
}
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("31");break;
case 4:
case 6:
case 9:
case 11:printf("30");break;
case 2:printf("%d",28+leap);break;
default:printf("error");break;
}
return 0;
}
//17.1,2,5分硬幣問題
#include int main()
{
int sum = 0;
for(int i=0; i<=20; i++)//5分
{
for(int j=0; j<=50; j++)//2分
{
if(5*i + 2*j <= 100)
sum++;
else
break;
}
}
printf("%d\n", sum);
}
//18.100到200所有的素數
#include int main()
{
int i,j,n;
//外層
for(i=100; i<=200; i++)
{
n = i;
//內層
for(j=2;j<=n-1;j++)
{
if(n%j == 0)
break;//不是素數
}
if(j==n)//沒找到
printf("%d是素數\n", n);
else
printf("%d不是素數\n", n);
}
}
//19.輸入一個數n,計算12+22+32+…+n2
#include int main()
{
int sum = 0;
int i, k;
scanf("%d", &k);
i = 1;
while(i <= k)
{
sum = sum + i * i;
i++;
}
printf("sum = %d\n", sum);
}
//20.指針交換
//定義一個方法swap()通過指針交換兩個整數 ,并在main()中調用
#include void swap(int *pa, int *pb)
{
int tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main()
{
int a = 3;
int b = 5;
int *pa = &a;
int *pb = &b;
swap(pa, pb);
printf("a=%d, b=%d\n", a, b);
}
展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
?
人人文庫網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:c語言初學必背代碼.docx
鏈接地址:https://www.renrendoc.com/p-13010435.html
總結
以上是生活随笔為你收集整理的c语言必背代码百度云,c语言初学必背代码.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces Round #73
- 下一篇: 通过分析词性进行人名、地名、组织的替换,