| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 a327904410 于 2021-12-10 16:09 编辑  
 
帮我看下注释的部分代码就行。我现在输出的内容有的开头没首字母。我的想法是输入两次换行符代表输入结束,求修正 
 
输入输出都是这个: 
dog ogday 
cat atcay 
pig igpay 
 
- #include<stdio.h>
 
 - #include<string.h>
 
  
- struct Entry {
 
 -         char english[11];
 
 -         char foreign[11];
 
 - }entries[100005];
 
  
- int main() {
 
 -         int num = 0;
 
 -         char word[11];
 
 -         while (1) {
 
 -                 scanf("%s%s", &entries[num].english, &entries[num].foreign);
 
 -                 num++;
 
 -                 //getchar();
 
 -                 //if (getchar() == '\n') {
 
 -                 //        break;
 
 -                 //}
 
 -         }
 
 -         int i;
 
 -         for (i = 0; i < num; i++) {
 
 -                 printf("%s %s\n", entries[i].english, entries[i].foreign);
 
 -         }
 
 -         return 0;
 
 - }
 
  复制代码 
 本帖最后由 jhq999 于 2021-12-10 07:53 编辑 
用了比较笨的方法,如果遇到一个字母的单词,bug
 - int main() {
 
 -         int num = 0;
 
 -         char word[11],ch=0;
 
 -         while (1) {
 
 -                 if ((ch=getchar()) == '\n') {
 
 -                          break;
 
 -                 }
 
 -                 else
 
 -                 {
 
 -                         entries[num].english[0]=ch;
 
 -                 }
 
 -                 scanf("%s%s", entries[num].english+1, entries[num].foreign);
 
 -                 num++;
 
 -                 getchar();
 
 -                 
 
 -         }
 
 -         //QuickSort(entries, 0, num - 1);
 
 -         int i;
 
 -         for (i = 0; i < num; i++) {
 
 -                 printf("%s %s\n", entries[i].english, entries[i].foreign);
 
 -         }
 
 -         return 0;
 
 - }
 
  复制代码 
 
 
 |   
 
 
 
 |