第一篇:C語言必背的典型程序設計題目 - 數組、函數-------參考答案
數組部分必須會編寫的程序(參考答案)
1、使用選擇法、冒泡法對10個數進行排序,并輸出排序前后的數列。
//選擇法
#include
printf(“%4d”,a[i]);} printf(“n”);//排序
for(i=0;i<9;i++){
t=i;
for(j=i+1;j<10;j++)
{
if(a[t]>a[j])
{
t=j;
}
}
if(t!=i)
{
temp=a[i];
a[i]=a[t];a[t]=temp;
} } printf(“Aftere sorted:”);for(i=0;i<10;i++){
printf(“%4d”,a[i]);} printf(“n”);} //冒泡法
#include
for(i=0;i<=n-1;i++)
{
for(j=0;j
if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} } printf(“Aftere sorted:”);for(i=0;i<10;i++){ printf(“%4d”,a[i]);} prtintf(“n”);}
2、已知數組a中的元素已按由小到大順序排列,以下程序的功能是將輸入的一個數插入數組a中,插入后,數組a中的元素仍然由小到大順序排列。
#include
int x , i, j=6;
/*j為元素個數*/ printf(“Enter a number: ”);
scanf(“%d”,&x);a[0]=x;i=j;
/*從最后一個單元開始*/ while(a[i]>x){
a[i+1]=a[i];i--;
/*將比x大的數往后移動一個位置*/ } a[++i]=x;j++;
/*插入x后元素總個數增加*/ for(i=1;i<=j;i++)
printf(“%8d”,a[i]);printf(“n”);}
3、(提高題目)編號為1,2,3,……n的n個人按順時針方向圍坐一圈。任選一個正整數作為報數上限m,從第1個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,從他在順時針方向上的下一個人開始重新從1報數,如此下去,直至所有人全部出列為止。設計程序輸出出列順序。
#include
printf(“please input the total of numbers:”);scanf(“%d”,&n);printf(“please input the upper bound of numbers:”);scanf(“%d”,&m);
for(i=0;i //數組初始化 num[i]=0; i=0; //用于記錄順序1..n k=0; //用于記錄順序1..m t=0; //用于記錄出列順序 while(t } { if(num[i]==0)k++;if(k==m){ t++; num[i]=t; k=0;} i++;if(i==n)i=0;//或者 i=i%n,構成循環 } for(i=0;i printf(“%4d”,i+1);printf(“n”);for(i=0;i printf(“%4d”,num[i]);printf(“n”); 4、編程打印直角楊輝三角形前六行。 #include a[i][i]=1; a[i][0]=1;} for(i=2;i<=5;i++){ for(j=1;j<=i-1;j++) { a[i][j]=a[i-1][j]+a[i-1][j-1]; } } for(i=0;i<=5;i++){ for(j=0;j<=i;j++) { printf(“%4d”,a[i][j]); } printf(“n”);} } 5、編寫程序,把下面的數據輸入一個二維數組中。12 75 56 然后執行以下操作: 13 26 88 93 18 22 32 44 36 58 ①輸出矩陣兩個對角線上的數; ②分別輸出各行和各列的和; ③交換第一行和第三行的位置; ④交換第二列和第四列的位置; ⑤輸出處理后的數組。 #include //輸出二維數組 printf(“二維數組:n”);for(i=0;i for(j=0;j { printf(“%5d”,a[i][j]); } printf(“n”);} printf(“n”); printf(“主對角線上的數:”);for(i=0;i printf(“%4d”,a[i][i]);} printf(“n”); printf(“副對角線上的數:”);for(i=0;i printf(“%4d”,a[i][SIZE-1-i]);} printf(“nn”); //各列的和 for(i=0;i sum=0; for(j=0;j { sum+=a[i][j]; } printf(“第%d行的和=%dn”,i+1,sum);} printf(“n”); //各列的和 for(j=0;j } { sum=0;for(i=0;i sum+=a[i][j];} printf(“第%d列的和=%dn”,j+1,sum);} printf(“n”);//交換第一行和第三行的位置 for(j=0;j printf(“交換第一行和第三行后的二維數組:n”);for(i=0;i printf(“%5d”,a[i][j]);} printf(“n”);} printf(“n”);//交換第二列和第四列的位置 for(i=0;i printf(“交換第2列和第4列后的二維數組:n”);for(i=0;i printf(“%5d”,a[i][j]);} printf(“n”);} 6、求一個5×5矩陣中的馬鞍數,輸出它的位置,所謂馬鞍數是指在行上最小而在列上最大的數。如下矩陣: ?5 6 7 8 9???4 5 6 7 8???3 4 5 2 1???2 3 4 9 0???1 2 5 4 8??? 則1行1列上的數就是馬鞍數。#include for(i=0;i<5;i++){ Min=a[i][0];col=0; for(j=0;j<5;j++) { if(Min>a[i][j]) { Min=a[i][j]; col=j; } } Max=a[0][col];row=0; for(j=0;j<5;j++) { if(Max { Max=a[j][col]; row=j; } } if(row==i) printf(“馬鞍數是行%d,列%d 值:%dn”,row+1,col+1,a[row][col]);} } 7、定義一個二維數組,存入5個學生的數學、語文、英語、物理、化學5門課程的成績,計算并輸出每一門課程的平均成績和每一位學生的平均成績。 #include //代表學生數 #define M 5 //代表課程數 void main(){ int scores[N][M]={{78,89,90,76,65},{86,79,98,74,95},{78,67,96,90,65}, {92,79,98,74,95},{69,94,85,67,56}}; int i,j,sum; //輸入學生成績 /* for(i=0;i printf(“輸入第%d個學生的數學、語文、英語、物理、化學5門課程的成績:”,i+1); for(j=0;j scanf(“%d”,&scores[i][j]);}*/ //輸出學生成績 printf(“序號t數學t語文t英語t物理t化學t平均成績n”);for(i=0;i sum=0; printf(“%dt”,i+1); for(j=0;j { sum+=scores[i][j];//計算每一位學生的總成績 printf(“%dt”,scores[i][j]); } printf(“%dn”,sum/M); //輸出每一位學生的平均成績 } //計算并輸出每一門課程的平均成績 printf(“n平均t”);for(j=0;j sum=0; for(i=0;i { sum+=scores[i][j]; } printf(“%dt”,sum/N); } printf(“n”);} 8、輸入一個字符串,判斷其是否為回文。回文字符串是指從左到右讀和從右到左讀完全相同的字符串。 #include int i,j,n; printf(“輸入字符串:n”); gets(s); n=strlen(s); for(i=0,j=n-1;i if(s[i]!=s[j]) break; if(i>=j)printf(“是回文串n”); else printf(“不是回文串n”);} 9、編寫程序實現從字符數組s中刪除存放在c中的字符。 #include void main(){ char s[80],c; int j,k; printf(“nEnter a string: ”); gets(s); printf(“nEnter a character: ”); c=getchar(); for(j=k=0;s[j]!= '
主站蜘蛛池模板:
欧美真人性野外做爰|
日日噜噜夜夜狠狠va视频|
狠狠久久久久综合成人影院|
国产色视频免费|
亚洲精品成人无码中文毛片不卡|
成熟丰满熟妇高潮xxxxx|
日本少妇高潮喷水xxxxxxx|
国产丝袜肉丝视频在线|
亚洲大成色www永久网站|
亚洲国产成人精品无码区在线观看|
精品无码黑人又粗又大又长|
国产精品国产三级国av在线观看|
婷婷亚洲综合五月天小说|
国产免费久久精品99reswag|
国产成人人综合亚洲欧美丁香花|
又粗又硬又黄又爽的免费视频|
亚瑟国产精品久久|
超碰97人人做人人爱亚洲尤物|
人妻avav中文系列久久|
加勒比色综合久久久久久久久|
狠狠综合久久久久尤物|
99精品国产再热久久无毒不卡|
无码少妇一区二区浪潮免费|
国产毛片女人高潮叫声|
国产成人无码一区二区三区|
美女久久|
国产特级毛片aaaaaa高潮流水|
亚洲国产成人久久久网站|
国产精品亚洲欧美大片在线看|
国产人碰人摸人爱免费视频|
国产成人亚洲综合无码加勒比一|
国产麻花豆剧传媒精品mv在线|
国产成人精品优优av|
综合一区无套内射中文字幕|
成人免费看黄网站yyy456|
2021国产成人精品久久|
日本熟妇色xxxxx欧美老妇|
国产亚洲精品久久无码98|
免费无码视频|
欧美群交射精内射颜射潮喷|
亚洲熟妇无码av在|