#include <stdio.h>
int main(){
int i=0;
char sentence[i];
int j=0; printf("輸入一個英文句子:");
for((sentence[i]=getchar())='?'&&sentence[i]='!'&&sentence[i]!='.';i++){
;
}
char sen_last=sentence[i];
printf("顛倒順序的句子為:");
int k=0;
int m;
char sen[k];
for(j=i-1;j>=0;j--,k++){
sen[k]=sentence[j];
if(sen[k]==' '||sen[k]==','){
for(m=k;m>=0;m--){
putchar(sen[m]);
}
k=0;
}
}
printf("\n");
printf("%d %d\n",j,k);
return 0;
}
程式就是書中的第14題

uj5u.com熱心網友回復:
for(;(sentence[i]=getchar())!='?' &&sentence[i]!='!'&&sentence[i]!='.';i++){;
}
uj5u.com熱心網友回復:
有什么問題??

uj5u.com熱心網友回復:
問題1定義陣列長度不要用變數
把char sentence[i] 改成 char sentence[256]
問題2
for回圈的條件不要用=,而是==,即
==‘?’ && ==‘!’ && ==‘.’
問題3
你是要整個句子的字符顛倒還是單詞顛倒?你現在sen[k]=sentance[j]的做法是字符顛倒。
uj5u.com熱心網友回復:
把這個代碼和你的代碼比較下。仔細些!細心些!!耐心些!!!
uj5u.com熱心網友回復:
sentence[i]不是變長陣列宣告嗎?那個等于號實際上是!=不過由于我是直接用手機復制粘貼上的,所以導致代碼不完整

uj5u.com熱心網友回復:
好吧



uj5u.com熱心網友回復:
再問一下,手機版CSDN論壇怎么給別人積分

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/64608.html
標籤:C語言
上一篇:c語言吧
