1樓:蘿蔔天使
不是已經回答了嗎?請參考:
2樓:府金蘭僑夏
ch=getchar();
while(ch!='!')
用getchar();時,在鍵盤上按乙個字元後,要按回車才能讀取進去,問題不出在putchar()上。
getchar();的用途是從從標準輸入流讀取乙個字元,讀回車符時退出。getchar();永遠只向快取中輸入乙個字元。
用getchar();時,在鍵盤上按乙個字元後,要按回車才能讀取進去;用getch();時,在鍵盤上按乙個字元馬上就被讀取進去,不用按回車,因此可以作為「按任意鍵繼續」的執行語句。
看下面的修改:(但有無回顯的問題)
ch=getch();
while(ch!='!')
getch()是從鍵盤接受乙個無回顯(螢幕看不見輸入字元,就是沒有輸出到顯示裝置),不緩衝的輸入,並返回對應按鍵的字元
一般用於等待乙個輸入,讓螢幕暫停一下,方便看程式執行的結果
修改一下,看詳細結果:
必須讀一次
就do-while
算了do
while(ch!='!');
flcose(pfile);
//增加
關閉檔案後,自動重新整理緩衝區
沒有可讀寫時的重新整理問題
pfile=fopen(filename,"r");
上面兩句保留(不注釋)應該沒有問題,你的第二個問題,可能如下:
rewind(pfile);//為什麼這裡用rewind()回到檔案的
開頭後執行是錯的?????
//你開始開啟的是只寫的檔案,rewind()之後
仍然不能讀的拉
//改法:或者開啟為可讀可寫的,
或者關閉後重新開啟來讀
//當你用可讀可寫的方式開啟時,rewind後可能也沒有輸出,需要重新整理
//緩衝區fflush(pfile)的字元內容到檔案後
再rewind才有內容可讀
//方式:fflush(pfile);
rewind(pfile);
ch=fgetc(pfile);
while(ch!=eof)
printf將"%c"輸出到標準輸出檔案的緩衝區中(緩衝區在記憶體上),fflush(stdout)將緩衝區中的內容強制重新整理到,並將其中的內容輸出到顯示器上("\n"回車換行
==fflush(stdout)+換行)
從鍵盤輸入乙個字串,將其中的小寫字母全部轉換為大寫字母,然後輸出到乙個磁碟檔案「test」中儲存
3樓:匿名使用者
#include
int main()
fclose(fp);
}問題描述不夠清楚,主要是輸出到磁碟檔案的是僅僅那些轉成大寫的小寫字母呢,還是包括所有輸入的字元。上面的**是按將所有的輸入字元存檔來編寫的。
4樓:
#include
#include
using namespace std;
int main()
ch = str[++i];
}str[i]=0;
cout< ofstream outfile; outfile.open("test"); outfile.write(str, i); outfile.close();} :從鍵盤輸入乙個字串,將小寫字母全部轉換成大寫字母,然後輸出到乙個磁碟檔案中儲存。 輸入字元以!結 5樓:手機使用者 ;"上面這句話應該不對吧?小寫字母全部轉換成大寫字母就是對應ascii碼減32,你這個'z'-'a'的值是25. 另外贊同樓上說的「還可以按照常識,比如操作文字檔案都用ascii,對於二進位制檔案,用二進位制。 」但這不是絕對的,文字檔案用ascii,主要是這些資訊本來就是以自然文字的形式表達,你用記事本開啟這些ascii碼儲存的文字,一目了然知道了想要反應的資訊。如果按照二進位制的方式讀寫這些本來要用ascii碼表達的東西,用記事本開啟就只能看到亂碼。 但並不是說以二進位制操作就不能正確獲取內容。用二進位制操作文字檔案通常比用ascii方式生成的檔案要小得多。 6樓:禮儀常識 #include #include int main() printf("enter the char\n"); ch=getchar(); while(ch!='q') /*用q來跳出迴圈比較方便*/ fclose(pfile); pfile=fopen(filename,"r"); rewind(pfile);/*為什麼這裡用rewind()回到檔案的 開頭後執行是錯的*/ printf("%d\n\n",a); /*這裡的a只是測試之用,可知這裡沒有錯誤*/ ch=fgetc(pfile); while(ch!=eof) printf("the end of programing!\nenter any key to continue..."); getch(); **如下: #include #include int main() printf("enter the char\n"); ch=getchar(); while(ch!='q') fclose(pfile); pfile=fopen(filename,"r"); rewind(pfile); ch=fgetc(pfile); while(ch!=eof) printf("the end of programing!\nenter any key to continue..."); getch();} 7樓:匿名使用者 ch=getchar(); while(ch!='!') 用getchar();時,在鍵盤上按乙個字元後,要按回車才能讀取進去,問題不出在putchar()上。 getchar();的用途是從從標準輸入流讀取乙個字元,讀回車符時退出。getchar();永遠只向快取中輸入乙個字元。 用getchar();時,在鍵盤上按乙個字元後,要按回車才能讀取進去;用getch();時,在鍵盤上按乙個字元馬上就被讀取進去,不用按回車,因此可以作為「按任意鍵繼續」的執行語句。 看下面的修改:(但有無回顯的問題) ch=getch(); while(ch!='!') getch()是從鍵盤接受乙個無回顯(螢幕看不見輸入字元,就是沒有輸出到顯示裝置),不緩衝的輸入,並返回對應按鍵的字元 一般用於等待乙個輸入,讓螢幕暫停一下,方便看程式執行的結果 修改一下,看詳細結果: 必須讀一次 就do-while 算了 do while(ch!='!'); flcose(pfile); //增加 關閉檔案後,自動重新整理緩衝區 沒有可讀寫時的重新整理問題 pfile=fopen(filename,"r"); 上面兩句保留(不注釋)應該沒有問題,你的第二個問題,可能如下: rewind(pfile);//為什麼這裡用rewind()回到檔案的 開頭後執行是錯的????? //你開始開啟的是只寫的檔案,rewind()之後 仍然不能讀的拉 //改法:或者開啟為可讀可寫的, 或者關閉後重新開啟來讀 //當你用可讀可寫的方式開啟時,rewind後可能也沒有輸出,需要重新整理 //緩衝區fflush(pfile)的字元內容到檔案後 再rewind才有內容可讀 //方式:fflush(pfile); rewind(pfile); ch=fgetc(pfile); while(ch!=eof) printf將"%c"輸出到標準輸出檔案的緩衝區中(緩衝區在記憶體上),fflush(stdout)將緩衝區中的內容強制重新整理到,並將其中的內容輸出到顯示器上("\n"回車換行 == fflush(stdout)+換行) 輸入乙個字串,將其中的大寫字母改為小寫字母,小寫字母改為大寫字母,然後輸出! 8樓:百度使用者 以下程式通過測試. 有問題請追問!#include void main() else if(*p>='a'&&*p<='z')p++; }printf("%s\n",s); }附圖: 9樓:土匪平頭 彙編??? 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 竹葉蘭之夏 include int main 所有數字相加 for i 0 i 10 i printf 所有數字和為 d n total return 0 老兵馬俑 include stdafx.h include ctype.h include string.h int main int argc... 刺友互 1 新建工程和檔案,然後開始寫好我們的程式模板。2 接下來,我們開始書寫我們的 首先我們知道,對於標準輸入輸出來說,c提供了兩個輸出字串的函式,printf中用 s來控制輸出,還有乙個是puts來輸出,這兩個對於輸出來說,前乙個是不帶回車換行的,而後乙個預設帶回車換行。3 是識別 0 的,這... include include int main char s1 char s2 char output printf please input the first string scanf s s1 printf please input the second string scanf s s2 ...c語言大神解答由鍵盤輸入一行字元將其中每
急!C語言程式設計,刪除從鍵盤輸入的字串中的小寫字母,結果仍放
c語言從鍵盤輸入兩個字串,將字串連線到字串的後面,並輸出連線