第一篇:編程題總結
大家必須掌握每種類型的1-3題。
題號考點要求
48、將兩個兩位數的整數合并成一個整數
65、兩個正整數合并成一個整數
71、兩個正整數合并成一個整數
77、兩個正整數合并成一個整數
81、兩個正整數合并成一個整數
84、兩個正整數合并成一個整數
87、兩個正整數合并成一個整數
91、兩個正整數合并成一個整數
8、s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+.....+n)
9、p=m!/(n!*(m-n)!)
26、連加
68、s=1+1/1!+1/2!+1/3!+........70、s=1/(1*2)+1/(2*3)+...+1/(n*(n+1))
76、s=1+0.5*x+(0.5*(0.5-1)*x*x/2!+......86、連加
90、連加
92、連加
93、連加
97、連加
100、連加
(2、)
類似素數或者閏年算法
2、求出1到1000之間能被7或11整除、但不能同時被7和11整除的所有整數,并將他們放在a所指的數組中,通過n返回這些數的個數。
58、求n以內同時能被3與7整除的所有自然數之和的平方根s3、求出能整除x且不是偶數的各整數,并按從小到大的順序放在pp所指的數組中,這些除數的個數通過形參n返回。
27、求出1到m之間能被7或11整除的整數,放在數組中,通過n返回這些數的個數
63、求n的所有因子(不包括1與自身)
98、計算n以內能被5或9整除的所有自然數的倒數之和
15、w是大于10的無符號整數,若w是n(n>=2)位的整數,則函數求出w的后n-1位的數作為函數值返回。
24、將數字字符串轉化為一個整數
16、對變量中的值保留兩位小數,對第三位四舍五入
(3、)
1、一維數組中,將低于平均分的人數作為函數值返回,低于平均分的分數放在below所指的數組中。
82、計算一維數組中n門課程的平均分
96、一維數組中每相鄰元素之平均值的平方根之和
28、找出一維數組中最大的值和它所在的下標,兩者通過形參返回
7、求出數組的最大元素在數組中下標并存放在k所指的存貯單元中。
43、從num個字符串中找出最長的一個字符串,并通過形參指針傳回
39、移動數組中的內容,前p個數移動到數組后面
40、移動數組中的內容,前m個字符移動到后面
5、將大于整數m且緊靠m的k個素數存入xx所指的數組中。
20、求出小于變量m的所有素數并放在一個數組中
51、將大于1小于m的非素數存入xx所指數組中,個數通過形參返回
99、計算3到n之間所有素數的平方根之和
29、將字符串中下標為奇數位置上的字母轉化為大寫
47、字符串中所有下標為奇數的字母轉為大寫
31、將字符串中除了下標為偶數、同時ASCII碼也為偶數的字符外,其余的全都刪除;串中剩余字符放在t字符串中
32、除了下標為奇數、同時ASCII碼也為奇數的字符外,其余的全都刪除;串中剩余字符放在t字符串中
49、將字符串中下標為偶數且ASCII碼為奇數的字符刪除
19、從字符串中刪除指定字符
64、將字符串中ASCII值為奇數的字符刪除,剩余字符放在t所指字符串中
72、將字符串中下標為偶數的字符刪除
78、字符串中ASCII為偶數的字符刪除
35、刪除字符串中所有空格
6、刪除一個字符串中指定下標的字符。
60、刪去一維有序數組中所有相同的數,使之只剩一個
33、刪除字符串中尾部*號,使不超過n個
36、把字符串中的前導*號全部移到字符串尾部
45、刪除字符串中前導和尾部的*號
56、字符串中,除了尾部*號外,字符串中其余*號全部刪除
73、刪除字符串中除了前導和尾部*號外的所有*號
83、字符串中尾部*號刪除
88、字符串中除了前導*外,刪除其余*號
94、字符串中,前導*號全部刪除
95、字符串中前導*號不得多于n個
66、刪除字符串中所有*號
(4、)
17、字符串內容逆置
23、判斷字符串是否為回文
25、比較兩個字符串的長度(不能用strlen)
52、實現兩個字符串連接
59、將字符串數組中的字符串依次合并到一個字符串中
21、字符串中字符按降序排列(選擇法排序)
4、統計在tt字符串中“a”到“z”26個字母各自出現的次數,并依次放在pp所指數組中。
38、求出字符串中指定字符的個數
44、統計長度為2的字符串在另一個字符串出現的次數
62、統計一行字符串中單詞個數
11、二維數組構成矩陣,使數組左下半三角元素中的值全部置成042、二維數組,將右上半角元素中的值乘以m80、二維數組中左下半三角中元素中的值乘以312、求出數組周邊元素的平均值
14、求出二維數組周邊元素之和
18、矩陣行列互換
53、矩陣B=A+A130、求出二維數組中最大元素的值,此值返回給調用函數
55、M行N列的二維數組中的數據,按行的順序依次放到一維數組中
41、將二維數組中的字符,按列的順序依次放到一個字符串中
75、二維數組中數按列的順序放到一維數組中
13、求出二維數組每列中最小元素,并依次放在pp所指一維數組中
37、結構體數組(學號、8門成績、平均成績),求出每個學生的平均成績
34、把結構體數組(學號、成績)中分數最高的學生放到h數組中,函數返回人數
74、把結構體數組(學號、成績)中分數最低的學生數據放在h所指數組中
50、結構體數組(學號、成績),找出成績最高的學生記錄,通過形參返回
54、結構體數組(學號、成績),低于平均分的學生數據放在b所指數組中
89、結構體數組(學號、成績),高于等于平均分的學生人數通過形參返回
57、結構體數組(學號、姓名),把指定范圍內的學生數據放在所指數組中
67、結構體數組(學號、成績)返回指定學號的學生數據(查找)
46、結構體數組(學號、成績),按分數降序排列(選擇法排序)
22、鏈表結構中,找出數值最大的結點,并由函數值返回
85、鏈表中,求出平均成績
10、迭代法求方程的實根
61、統計各年齡段人數(建議采用if else)
69、遞歸函數
第二篇:編程題總結
C作業匯總
1.short a,b=32767;/*short類型在內存中占2B*/ a=b+1;問:a的值是多少?并分析原因。
2.有一4位數整數,假設用abcd表示,請把這個4位數的每個數位用表達式表示出來。3.從鍵盤輸入圓的半徑r,計算并輸出圓的面積s(要求:半徑r定義為float型;圓周率?定義為符號常量;面積s保留2位小數)#define PI 3.14159 #include
4.輸入m>=3的正整數,判斷m是否素數。畫出算法流程圖及NS圖
5.有一函數:
x?1 ?x ?y??2x?1 1?x?10
?3x-11 x?10 ?寫一段程序,輸入x,輸出y值。
要求x,y聲明為float類型,y保留2位小數。#include
if(x<1)
y=x;else
if(x<10)
y=2*x-1;
else
y=3*x-11;
}
printf(“y=%.2fn”,y);
x3x5x7x9?????,6.課后習題4.17(P159)利用泰勒級數sinx?x?計算sinx的3!5!7!9!值。要求最后一項的絕對值小于10,并統計出此時累加了多少項。#include
/*記錄每個項數*/ int n=1,count=0;/*count記錄累加了多少項*/
printf(“請輸入x值(弧度):n”);scanf(“%f”,&x);
term=x/n;while(fabs(term)>1e-5)
/* while循環*/ {
sinx+=term;
count++;
n+=2;
term=-term*x*x/((n-1)*n);}
/* do
/*do while循環*/ {
sinx+=term;
count++;
n+=2;
term=-term*x*x/((n-1)*n);}while(fabs(term)>1e-5);
*/
printf(“sin(%.2f)=%.4fn”,x,sinx);printf(“一共累加了:%d項。n”,count);}
7.用牛頓迭代法求下面方程在1.5附近的根:
2x?4x?3x?6?0 32?5
牛頓迭代公式:
x1?x0?f(x0)f?(x0)
#include
/*y1記錄f(x0),y2記錄f(x0)的導數*/
do {
x0=x1;
y1=2*x0*x0*x0-4*x0*x0+3*x0-6;
y2=6*x0*x0-8*x0+3;
x1=x0-y1/y2;}while(fabs(x1-x0)>1e-5);
printf(“the root is:%.2fn”,x1);}
8.寫一函數,輸入一個16進制整數,輸出相應的10進制數。例:從鍵盤輸入2a,輸出結果是42。
要求:若輸入數據不合法,則輸出提示信息。如輸入了35g,輸出“您輸入的16進制數不合法!”。
#include
printf(“請輸入一個16進制數字:n”);
while((c=getchar())!='n'){
if(c>='0' && c<='9')
sum=sum*16+c-'0';
else
if(c>='a' && c<='f')
sum=sum*16+c-87;
else
if(c>='A' && c<='F')
sum=sum*16+c-55;
else
{
printf(“您輸入的16進制不合法.n”);
exit(0);
} }
printf(“相應的10進制數是:%dn”,sum);} 方法2:用字符串處理的方式 #include
printf(“請輸入一個16進制數字:n”);gets(str);
for(i=0;str[i];i++){
if(str[i]>='0' && str[i]<='9')
sum=sum*16+str[i]-'0';
else
if(str[i]>='a' && str[i]<='f')
sum=sum*16+str[i]-87;
else
if(str[i]>='A' && str[i]<='F')
sum=sum*16+str[i]-55;
else
{
printf(“您輸入的16進制不合法.n”);
exit(0);
} }
printf(“相應的10進制數是:%dn”,sum);} 方法3:用字符數組及指針處理的方式 #include
{ char str[20],*p=str;int sum=0;
printf(“請輸入一個16進制數字:n”);gets(p);
while(*p){
if(*p>='0' && *p<='9')
sum=sum*16+*p-'0';
else
if(*p>='a' && *p<='f')
sum=sum*16+*p-87;
else
if(*p>='A' && *p<='F')
sum=sum*16+*p-55;
else
{
printf(“您輸入的16進制不合法.n”);
exit(0);
}
p++;}
printf(“相應的10進制數是:%dn”,sum);} 9.編寫一個小函數,其功能是計算兩個整數的平均值,該函數要在主函數中調用。
#include
avg=average(x,y);
printf(“%d,%d的平均值是:%.2fn”,x,y,avg);}
float average(int x,int y)
{ return(x+y)/2.0;}
10.有N(N用宏定義為符號常量)個元素的一維整型數組,該數組中各元素值從鍵盤隨機輸入。然后,將這個整型數組中的值逆序存放。例如,原來5個元素的順序為8、1、4、6、5,逆序之后各元素的值是5、6、4、1、8 #define N 5 #include
printf(“輸入%d個整數,用空格或回車分隔:n”,N);for(i=0;i scanf(“%d”,&a[i]); printf(“數組原來的值是:n”);for(i=0;i printf(“%dt”,a[i]); for(i=0;i t=a[i]; a[i]=a[N-1-i]; a[N-1-i]=t;} printf(“n逆序之后數組的值是:n”);for(i=0;i printf(“%dt”,a[i]); printf(“n”);} 11.有N(N用宏定義為符號常量)個元素的一維整型數組,該數組中各元素值從鍵盤隨機輸入。然后,對該數組元素進行由小到大排序(要求,該功能用函數實現),輸出數組中各元素值。最后,從鍵盤隨機輸入一個整數,并把該整數插入上述數組中(該功能用函數實現),使得插入該整數后的數組仍然有序,輸出數組中各元素的值。#define N 5 #include int i,x;void sort(int array[],int n);void insert(int array[],int n,int x); printf(“輸入%d個整數,用空格或回車分隔:n”,N);for(i=0;i scanf(“%d”,&a[i]); sort(a,N); /*調用sort對數組進行排序*/ printf(“n升序排序之后數組的值是:n”);for(i=0;i printf(“%d ”,a[i]); printf(“n輸入一個x值插入到數組中:n”);scanf(“%d”,&x); insert(a,N,x); printf(“n插入%d之后數組的值是:n”,x);for(i=0;i printf(“%d ”,a[i]); printf(“n”);} void sort(int array[],int n)/*用選擇法對數組array升序排序*/ { int i,j,t,min; for(i=0;i min=i; for(j=i+1;j if(array[j] min=j; if(min!=i) { t=array[i]; array[i]=array[min]; array[min]=t; } } } void insert(int array[],int n,int x){ int i,pos; for(i=0;i pos=i; for(i=n-1;i>=pos;i--) array[i+1]=array[i]; array[pos]=x;} 12.有一整型數組,N(N用宏定義為符號常量)個元素,該數組中各元素值從鍵盤隨機輸入。從鍵盤隨機輸入一個整數x,刪除該數組中值與x相同的所有元素(該功能用函數實現),輸出數組中各元素的值。#define N 5 #include printf(“輸入%d個整數,用空格或回車分隔:n”,N);for(i=0;i scanf(“%d”,&a[i]); printf(“數組原來的值是:n”);for(i=0;i printf(“%dt”,a[i]); printf(“n請輸入要刪除的值x:n”);scanf(“%d”,&x); n=delet(a,N,x); /*n值是刪除與x相同的元素后,數組剩余元素的個數。*/ printf(“刪除%d之后數組的值是:n”,x);for(i=0;i printf(“%d ”,a[i]); printf(“n”); } int delet(int a[],int n,int x){ int i,j; for(i=0,j=0;i if(a[i]!=x) a[j++]=a[i]; return j;} 13.從鍵盤隨機輸入一字符串,將所有ASCII值為偶數的字符輸出。例如:輸入abc123,輸出結果是b2(因為b的ASCII值是98,2的ASCII值是50,其他字符的ASCII值都是奇數) #include printf(“輸入字符串:n”);gets(str); printf(“ASCII碼是偶數的字符有:”);for(i=0;str[i];i++) if(str[i]%2==0)putchar(str[i]); printf(“n”);} 14.從鍵盤輸入兩個字符串s1,s2,把s2連接到s1的末尾。不能用strcat函數 #include printf(“輸入兩個字符串,輸入回車鍵結束:n”);gets(str1);gets(str2); mystrcat(str1,str2); printf(“連接在一起的字符串是:n”);puts(str1); } void mystrcat(char *p1,char *p2){ while(*p1)p1++;while(*p2) *p1++=*p2++;*p1='
主站蜘蛛池模板:
成人久久久|
青青草草青青草久久草|
四虎影视永久地址www成人|
久久不见久久见免费影院www日本|
欧美日韩精品成人网站二区|
亚洲色大成网站www永久一区|
人人爽天天碰天天躁夜夜躁|
国产精品igao视频网|
少妇性饥渴无码a区免费|
色77久久综合网|
国产成人精品午夜福利在线观看|
亚洲精品一区二区三区的|
久久久亚洲欧洲日产国产成人无码|
成人免费无码大片a毛片软件|
一区二区视频日韩免费|
亚洲色成人网站在线观看|
精品无码成人网站久久久久久|
日本亚欧热亚洲乱色视频|
激情欧美日韩一区二区|
欧美乱人伦人妻中文字幕|
亚欧乱色国产精品免费|
精品无码三级在线观看视频|
久久精品国产久精国产果冻传媒|
国产亚洲欧洲av综合一区二区三区|
亚洲国产日韩在线人成蜜芽|
99视频在线精品免费观看6|
久久人妻国产精品31|
人妻有码中文字幕在线|
妺妺窝人体色www在线小说|
亚洲一区二区三区自拍天堂|
特黄特色的大片观看免费视频|
精品久久久久久久久久中文字幕|
国产voyeur精品偷窥222|
国产亚洲欧美日韩精品一区二区|
久久久人人人婷婷色东京热|
国产激情无码一区二区三区|
成年无码av片在线免缓冲|
男人靠女人免费视频网站|
两口子交换真实刺激高潮|
69堂人成无码免费视频果冻传媒|
人人妻人人爽人人澡av|