1樓:
因為輸入的第一個字元被你第一句「getchar();」(main()函式第4行)「吃掉」了。去掉這一句就行。
2樓:飄雪的雨季
因為getchar();這條語句,已經把第一個字元吸收了,並且沒有一個變數來接受它,所以它就被忽略了,並沒有儲存到str這個陣列中。而後面while((ch=getchar())!='\n')這條語句ch接收的已經是第二個字元了,然後儲存到str中。
所以str中就沒有第一個字元了。你可以去掉getchar()這條語句再除錯一下就正確了。**如下:
#include
#include
#define max 80
int main()
str[i]='\0';
for(i=0;str[i]!='\0';i++)for(i=0;str[i]!='\0';i++)printf("%c",str[i]);
return 0;}
3樓:電泡泡
第4行回車好像不要吧,
記得吃回車是在不同的樣例之間才要吃回車
按照你的程式的話不用另外加吃回車的getcharps :望採納哦,親
輸入一個以回車結束的字串(少於80個字元),輸出其中所出現的大寫英文字母
4樓:獸性佔據青春
//y陣列是把找到的大寫字母儲存進來。
for (i = 0; str[i] != '\0'; i++) }}
y[ny] = 0;
if (ny != 0)
printf("%s", y);
else
printf("not found");
回答的有點羅嗦了。這個題目你應該執行測試幾下就讀懂了。
5樓:it孤鶩
#include
void main()
i++;
}str[j+1]='\0';
if(flag)
printf("not found\n");
else
puts(str);}
輸入一個字串,將其中的大寫字母改為小寫字母,小寫字母改為大寫字母,然後輸出!
6樓:百度使用者
以下程式通過測試. 有問題請追問!#include void main()
else if(*p>='a'&&*p<='z')p++;
}printf("%s\n",s);
}附圖:
7樓:土匪平頭
彙編???
data segment
any db 22
db 10
db 20 dup(?)
data ends
code segment
assume cs:code,ds:datastart:
mov ax,data
mov ds,ax
mov bx,offset any
add bx,2
call input
call _test
call show
mov ah,4ch
int 21h
show proc
mov cx,10
push bx
l1: mov ah,2
mov dl,byte ptr [bx]
int 21h
inc bx
loop l1
pop bx
retshow endp
input proc
push bx
mov ah,10
lea dx,any
int 21h
pop bx
retinput endp
_test proc
push bx
mov cx,10
ls: cmp byte ptr [bx],'a'
jb ll
lb: cmp byte ptr [bx],'z'
ja exit
sub byte ptr [bx],20hinc bx
loop ls
jmp exit1
ll: cmp byte ptr [bx],'z'
ja exit
cmp byte ptr [bx],'a'
jb exit
add byte ptr [bx],20hinc bx
loop ls
jmp exit1
exit: mov byte ptr [bx],' '
inc bx
loop ls
exit1: pop bx
ret_test endp
code ends
end start
c語言程式設計 輸入一個以回車鍵結束的字串(少於80個字元)。輸出其中所出現過的大寫英文字母.
8樓:不願相離
printf("input a string:");
//getchar();這一句的getchar不要,如果有這一句,你輸入的字串中的第一個字母就被它所獲取,str中是從第二個字母開始儲存
c語言程式設計 輸入一個以回車鍵結束的字串(少於80個字元)。輸出其中所出現過的大寫英文字母.是出現過的
9樓:匿名使用者
#include
int main(void)}}
y[ny] = 0;
if (ny != 0)
printf("%s", y);
else
printf("not found");
return 0;}
10樓:擼完睡覺去
什麼思路,沒看明白
不是把大寫字母輸出嗎
11樓:匿名使用者
程式大概看了下 我的理解是你的意思是輸出輸入的一串字元中重複出現的大寫字母,對吧?你表達的不是太清楚,你的做法你可以編譯,測試啊。你應該想看看是不是有其他方法 是吧?
12樓:不願相離
printf("input a string:");
//getchar();這一句的getchar不要,如果有這一句,你輸入的字串中的第一個字母就被它所獲取,str中是從第二個字母開始儲存
輸入字元,再輸入以回車結束的字串 少於字元 ,在字串中查詢該字元如果找到
問明 include int main char a 80 b int i int k printf input chars for i 0 a getchar n i a 0 scanf c b for i 0 a 0 i if a b k i printf d k if k 1 printf n...
字串結束的標誌是,字串的結束標誌是???
四舍 入 0 是字串陣列的結束標誌。而0則是 0 的ascii碼錶示,是第一個ascii碼,數字0的ascii碼是48,所以寫程式要用 0 結尾,比如char a 3 或者直接char a hi 編譯器都會認為是字串陣列,且以 0 結束。除錯程式時,可以看到記憶體裡面是0,這是ascii碼的表示,也...
c 怎麼輸入字串,C語言輸入輸出字串
c 中常見的幾種輸入字串的方法如下 cin 狹義 通過閱讀 聽講 研究 觀察 理解 探索 實驗 實踐等手段獲得知識或技能的過程,是一種使個體可以得到持續變化 知識和技能,方法與過程,情感與價值的改善和昇華 的行為方式。例如通過學校教育獲得知識的過程。廣義 是人在生活過程中,通過獲得經驗而產生的行為...