1.請輸入一個字元,當字元為*(星號)時,程式將結束讀取的動作。
2.題目已提供程式碼片段,執行結果如參考畫面,程式碼有語法、邏輯或其他項目上的錯誤,請全數修正。
本題原題意為:從鍵盤輸入資料到檔案,再印出檔案內容。
但因 judge 系統不做檔案處理,因此無法執行 fprintf 這類指令,所以本題改成從鍵盤輸入資料到陣列,再印出陣列內容。(陣列宣告只宣告10個字)
下列程式更改部分將以紅色標示。
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
int main ()
{
//FILE fptr;
//fptr=fopen("character.dat", "w");
char chrary[100];
int i,k;
char ch;
k=0;
printf("請輸入一字元: ");
scanf("%c", &ch);
//將一行多餘的字元丟掉
while (getchar()!='\n') {
continue;
}
while(ch!='*'){
chrary[k]=ch;
printf("請輸入一字元: ");
scanf("%c", &ch);
//將一行多餘的字元丟掉
while (getchar() != '\n'){
continue;
}
}
//fclose(*fptr);
//fptr=fopen("character.dat", "r");
printf("\n以下是您輸入的資料:\n");
for(i=0;i<k;i++)
//while (fscanf("%c", ch) == EOF)
{
printf("%3c\n",chrary[i]);
//printf("%3c\n",ch );
}
return 0;
}
0 a A X j 3 # / $ ~ *
請輸入一字元: 0 請輸入一字元: a 請輸入一字元: A 請輸入一字元: X 請輸入一字元: j 請輸入一字元: 3 請輸入一字元: # 請輸入一字元: / 請輸入一字元: $ 請輸入一字元: ~ 請輸入一字元: * 以下是您輸入的資料: 0 a A X j 3 # / $ ~
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |