c语言课本第八章答案,c语言第八章字符串编程答案
中國石油大學c語言編程個人答案,包括:字符轉換,合并字符串,刪除重復字符,刪除指定字符,【設計型】8.5 單詞有多少,8.6 在指定位置插入字符串,【探索性】8.8 大數相加,【研究創新性】8.7 Your Ride Is Here,數組中數字組成的最大數(修改)
字符轉換
描述
提取一個字符串中的所有數字字符(‘0’...‘9’)將其轉換為一個整數輸出。
輸入
一個以回車符為結束標志的字符串(少于80個字符)。
輸出
把字符串中的所有數字字符(‘0’...‘9’)轉換為一個整數并輸出。
#include
int main()
{
char str[80];
int i;
gets(str);
for(i=0; str[i]!='\0'; i++)
{
if(str[i]<='9'&&str[i]>='0') printf("%c",str[i]);
}
printf("\n");
}
合并字符串
輸入兩個已經按從小到大順序排列好的字符串,編寫一個合并兩個字符串的函數,使合并后的字符串,仍然是從小到 大排列。
輸入:
兩個已經排好順序(升序)的兩個字符串
輸出:
一個合并在一起的有序(升序)的字符串
要求:
設計一個效率盡量高的算法,對每個字符串只掃描一遍就可以了。
如果采用先進行串連接,然后再進行排序的算法,則效率太低了。
#include
int main()
{
char str1[80],str2[80],t;
int i,n,j;
gets(str1);
gets(str2);
strcat(str1,str2);
n=strlen(str1);
for(j=1; j<=n; j++)
for(i=0; i
if(str1[i]>=str1[i+1])
{
t=str1[i];
str1[i]=str1[i+1];
str1[i+1]=t;
}
puts(str1);
}
刪除重復字符
輸入一個長度不超過 100 的字符串,刪除串中的重復字符。
輸入:
輸入要檢查的字符串,長度不超過100個字符。例如:abacaeedabcdcd。
輸出:
刪除重復字符后的字符串。例如:abced。
#include
#include
int main()
{
char str[100];
int i,j;
gets(str);
for(i=0; str[i]!=0; i++)
for(j=0; str[j]!=0; j++)
if(str[j]==str[i]&&i!=j) str[j]='\t';
for(i=0; str[i]!=0; i++)
if(str[i]!='\t') printf("%c",str[i]);
printf("\n");
}
刪除指定字符
輸入兩個字符串 s1 和 s2 ,在 s1 中刪除任何 s2 中有的字符。例如, s1 :“ abc123ad ”, s2 :“ a1 ” ,則輸出“bc23d ”。
輸入: 兩個字符串 s1 和 s2
輸出: 刪除后的字符串 s1
#include
#include
int main()
{
char str1[100],str2[100];
int i,j;
gets(str1);
gets(str2);
for(i=0; str1[i]!=0; i++)
for(j=0; str2[j]!=0; j++)
if(str2[j]==str1[i]) str1[i]='\t';
for(i=0; str1[i]!=0; i++)
if(str1[i]!='\t') printf("%c",str1[i]);
printf("\n");
}
【設計型】8.5 單詞有多少
成績: 100 / 折扣: 0.8
用空格或換行分開的字符串稱為單詞。輸入多行字符串,直到遇到了單詞 "stop" 時才停止。最后輸出單詞的數量。用于分割單詞的空格
總結
以上是生活随笔為你收集整理的c语言课本第八章答案,c语言第八章字符串编程答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab怎么画二维热力图_[原创]D
- 下一篇: f2812的c语言与标准c语言,关于F2