程式設計題#1:求字母的個數
在乙個字串中找出母音字母a,e,i,o,u出現的次數。
輸入一行字串(字串中可能有空格,請用cin.getline(s,counts)方法把一行字串輸入到字元陣列s中,其中counts是s的最大長度,這道題裡面可以直接寫80。),字串長度小於80個字元。
輸出一行,依次輸出a,e,i,o,u在輸入字串中出現的次數,整數之間用空格分隔。
#includeusing namespace std;
int main()
; int a,e,i,o,u;
a=e=i=o=u=0;
cin.getline(x,80);
for(int i=0;i<80;i++)
printf("a的次數:%d\ne的次數:%d\ni的次數:%d\no的次數:%d\nu的次數:%d\n",a,e,i,o,u);
return 0;
}
程式設計題#2:忽略大小寫比較字串大小
一般我們用strcmp可比較兩個字串的大小,比較方法為對兩個字串從前往後逐個字元相比較(按ascii碼值大小比較),直到出現不同的字元或遇到'\0'為止。如果全部字元都相同,則認為相同;如果出現不相同的字元,則以第乙個不相同的字元的比較結果為準。但在有些時候,我們比較字串的大小時,希望忽略字母的大小,例如"hello"和"hello"在忽略字母大小寫時是相等的。請寫乙個程式,實現對兩個字串進行忽略字母大小寫的大小比較。
輸入為兩行,每行乙個字串,共兩個字串。(請用cin.getline(s,80)錄入每行字串)(每個字串長度都小於80)
輸出如果第乙個字串比第二個字串小,輸出乙個字元"<"
如果第乙個字串比第二個字串大,輸出乙個字元">"
如果兩個字串相等,輸出乙個字元"="
#include#includeusing namespace std;
int main()
; char y[80]=;
int result=0;
printf("輸入第一行:");
cin.getline(x,80);
printf("輸入第二行:");
cin.getline(y,80);
for(int i=0;i<80;i++)
result=strcmp(x,y);
if(result>0) printf(">");
else if(result<0) printf("<");
else printf("=");
return 0;
}
程式設計題#3:最長單詞2
乙個以'.'結尾的簡單英文句子,單詞之間用空格分隔,沒有縮寫形式和其它特殊形式
輸入乙個以'.'結尾的簡單英文句子(長度不超過500),單詞之間用空格分隔,沒有縮寫形式和其它特殊形式
輸出該句子中最長的單詞。如果多於乙個,則輸出第乙個
網上答案:
#include using namespace std;
int main()
; cin.getline(s, 500);
int count = 0; //count用來記錄單詞的長度
int count_max = 0; //count_max用來記錄最長單詞的長度
int end = 0;
int i = 0;//end用來記錄最長單詞的末尾位置
while (i<500)
i++;
} if (s[i] == ' ')
if (s[i] == '.' || s[i] == '\0')
}for (int i = end-count_max+1; i < end+1; i++)
cout << endl;
}
程式設計題#4:矩陣交換行
在main函式中, 生成乙個5*5的矩陣,輸入矩陣資料,並輸入n,m的值。判斷n,m是否在陣列範圍內,如果不在,則輸出error;如果在範圍內,則將n行和m行交換,輸出交換n,m後的新矩陣。
輸入5*5矩陣的資料,以及n和m的值。
輸出如果不可交換,則輸出error,
如果可交換,則輸出新矩陣
題目中的「n,m在陣列範圍」內是指數組內的數值還是指行列的範圍???
程式設計題#5:異常細胞檢測
我們拍攝的一張ct**用乙個二維陣列來儲存,假設陣列中的每個點代表乙個細胞。每個細胞的顏色用0到255之間(包括0和255)的乙個整數表示。我們定義乙個細胞是異常細胞,如果這個細胞的顏色值比它上下左右4個細胞的顏色值都小50以上(包括50)。陣列邊緣上的細胞我們不檢測。現在我們的任務是,給定乙個儲存ct**的二維陣列,寫程式統計**中異常細胞的數目。
輸入第一行包含乙個整數n(100>=n>2).
下面有 n 行,每行有 n 個0~255之間的整數,整數之間用空格隔開。
輸出輸出只有一行,包含乙個整數,為異常細胞的數目。
#includeint main()
printf("輸入數目:");
for(i=0;i=50)
word++;
if((a[i+1][j]-a[i][j])>=50)
word++;
if((a[i][j-1]-a[i][j])>=50)
word++;
if((a[i][j+1]-a[i][j])>=50)
word++;
if(word==4)
result++;
} }printf("%d",result);
return 0;
}
程式設計題#6:迴圈移動
給定一組整數,要求利用陣列把這組數儲存起來,再利用實現對陣列中的數迴圈移動。假定共有n個整數,則要使前面各數順序向後移m個位置,並使最後m各數變為最前面的m各數。
注意,不要用先輸出後m個數,再輸出前n-m個數的方法實現,也不要用兩個陣列的方式實現。
要求只用乙個陣列的方式實現,一定要保證在輸出結果時,輸出的順序和陣列中數的順序是一致的。
輸入輸入有兩行:第一行包含乙個正整數n和乙個正整數m,第二行包含n個正整數。每兩個正整數中間用乙個空格分開。
輸出輸出有一行:經過迴圈移動後陣列中整數的順序依次輸出,每兩個整數之間用空格分隔
#includeint main()
; printf("輸入n,m:");
scanf("%d%d",&n,&m);
for(int i=0;i
程式設計題#7:中位數
中位數定義:一組資料按從小到大的順序依次排列,處在中間位置的乙個數或最中間兩個資料的平均值(如果這組數的個數為奇數,則中位數為位於中間位置的那個數;如果這組數的個數為偶數,則中位數是位於中間位置的兩個數的平均值).
給出一組無序整數,求出中位數,如果求最中間兩個數的平均數,向下取整即可(不需要使用浮點數)
輸入該程式包含多組測試資料,每一組測試資料的第一行為n,代表該組測試資料報含的資料個數,1 <= n <= 15000.
接著n行為n個資料的輸入,n=0時結束輸入
輸出輸出中位數,每一組測試資料輸出一行
#include < stdio.h >
int main ()
; int n=0;
int change=0;
int result=0;
printf ("input n:");
scanf ( "%d", &n );
for (int i = 0; i < n; i++)
scanf ("%d",&x[i]);
for (i = 0; i < n-1; i++)
}} if (n%2==0)
result =(x[n/2]+x[n/2-1])/2;
else
result =x[n/2-1];
printf("%d\n",result);
return 0;
}
程式設計題#8:校門外的樹
某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置;數軸上的每個整數點,即0,1,2,……,l,都種有一棵樹。
馬路上有一些區域要用來建地鐵,這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止點的座標都是整數,區域之間可能有重合的部分。現在要把這些區域中的樹(包括區域端點處的兩棵樹)移走。你的任務是計算將這些樹都移走後,馬路上還有多少棵樹。
輸入輸入的第一行有兩個整數l(1 <= l <= 10000)和 m(1 <= m <= 100),l代表馬路的長度,m代表區域的數目,l和m之間用乙個空格隔開。接下來的m行每行包含兩個不同的整數,用乙個空格隔開,表示乙個區域的起始點和終止點的座標。
輸出輸出包括一行,這一行只包含乙個整數,表示馬路上剩餘的樹的數目。
#includeint main()
for(i=0;i<2*m;i=i+2)
sum=(x[i+1]-x[1]+1)+sum;
result=(l+1)-sum;
printf("%d ",result);
return 0;
}
coursera《計算導論與C語言基礎》第十周
描述 在乙個字串中找出母音字母a,e,i,o,u出現的次數。輸入輸入一行字串 字串中可能有空格,請用cin.getline s,counts 方法把一行字串輸入到字元陣列s中,其中counts是s的最大長度,這道題裡面可以直接寫80。字串長度小於80個字元。輸出輸出一行,依次輸出a,e,i,o,u在...
Coursera 計算導論與C語言基礎 第八周
程式設計題 1 數字求和 給定乙個正整數a,以及另外的5個正整數,問題是 這5個整數中,小於a的整數的和是多少?輸入一行,只包括6個小於100的正整數,其中第乙個正整數就是a。輸出一行,給出乙個正整數,是5個數中小於a的數的和。includeint main a x 0 for i 1 i 6 i ...
計算導論與C語言基礎week7
1.setprecision控制輸出流顯示浮點數的有效數字個數 include include using namespace std int main 手算結果是12345678920 但這段 結果是12345678848 因為浮點數精度只有7位,超過7位就不準確 用浮點數運算時應避免大 小 數字...