int main(){ char msg[100][50];//arr of str input int i=0, counter=-1;// var loop dan penghitung kata while(strcmp(msg[i-1], "end")!=0){//jika end diinput maka berhenti scanf("%s", msg[i]);//input kata i+=1; if (strcmp(msg[i], "end")!=0 && counter<10){//kata yang dihitung hanya 10 //karena counter dipakai dalam batasan pada prosedur //maka ini menjadi batasan dari jumlah kata yang di proses counter+=1; } } int swap;//variabel jumlah baris huruf yang akan ditukar scanf("%d", &swap);//input jumlah baris huruf yang akan ditukar char swapchar1[100], swapchar2[100];//arr huruf yang akan ditukar for (i = 0; i < swap; i+=1){ scanf(" %c %c", &swapchar1[i], &swapchar2[i]);//input setiap huruf yang akan ditukar(jika ada) } char tempchar, temp[500], tempvoc[300], temparostr[100][50];//char. array, dan arr of string temporari movetotemp(counter, temp, msg); //prosedur pengkopian setiap char ke dalam satu string int lentem=strlen(temp);//panjang temp array if(swap!=0){//jika input jumlah baris bukan nol ///////lakukan prosedur berikut //prosedur pengecekan dan penggantian char checkchar(lentem, swap, temp, swapchar1, swapchar2); //prosedur pengkopian kembali char setelah di rubah returnchar(counter, msg, temp); }else if (swap==0){//jika input jumlah baris nol //////lakukan prosedur berikut //prosedur pengambilan huruf vokal vocaltotempvoc(lentem, temp, tempvoc, tempchar); //prosedur pengembalian vokal swapstartotempvoc(lentem, temp, tempvoc); //prosedur pengembalian ke arr of string msg movetomsg(counter, msg, temp); //prosedur pengkopian arr of string movetotemp2(counter, temparostr, msg); //prosedur pembalikan kata reversechar(counter, msg, temparostr); //prosedur pembalikan urutan kata returnreverestring(counter, msg, temparostr); } for (i = 0; i < counter; ++i) { printf("%s", msg[i]); if (i<counter-1){//print spasi di setiap akhir kata printf(" "); }else{//kecuali kata terakhir printf("\n");//print newline } } return 0; }
int main() { char msg[100][50]; int i=0, j, k, counter=-1, idx=0; while(strcmp(msg[i-1], "end")!=0){ scanf("%s", msg[i]); i+=1; if (strcmp(msg[i], "end")!=0 && counter<10) { counter+=1; } } int swap; scanf("%d", &swap); char swapchar1[100], swapchar2[100]; for (i = 0; i < swap; i+=1) { scanf(" %c %c", &swapchar1[i], &swapchar2[i]); } char tempchar, temp[500], tempvoc[300], temparostr[100][50]; /////////////////////////////// movetotemp(counter, temp, msg); int lentem=strlen(temp); if(swap!=0){ checkchar(lentem, swap, temp, swapchar1, swapchar2); returnchar(counter, msg, temp); }else if (swap==0){ vocaltotempvoc(lentem, temp, tempvoc, tempchar); swapstartotempvoc(lentem, temp, tempvoc); movetomsg(counter, msg, temp); movetotemp2(counter, temparostr, msg); reversechar(counter, msg, temparostr); returnreverestring(counter, msg, temparostr); } for (i = 0; i < counter; ++i) { printf("%s", msg[i]); if (i<counter-1) { printf(" "); }else{ printf("\n"); } } return 0; }
void show(int n) { int i,count; char ch; do{ system("cls"); printf("请输入您想显示的顺序\n"); printf("(1)按热度排序\t(2)按评分排序\n"); printf("(3)按名字排序\n"); scanf("%d",&i); }while(checkj(i)); //checkj函数不在这里。。 //检查是否为1-3中排序方式一种 (总头文件中可以找到 ) switch(i) //按给定的方式排序 { case 1: qsort(disk,n,sizeof(disk[0]),cmpheat); break; case 2: qsort(disk,n,sizeof(disk[0]),cmpmark); break; case 3: qsort(disk,n,sizeof(disk[0]),cmpname); break; } i=0; do{ printf("名字\t\t 制片国 类型 借阅情况 热度 评分\n"); for(count=0;count<5&&i<n;i++,count++) { printf("%-15s %-8s ",disk[i].name,disk[i].nation); printf(" %-10s ",disk[i].type); if(disk[i].flag)printf("可借 "); else printf("不可借 "); printf("%-3d %.1f",disk[i].heat,disk[i].mark); printf("\n"); } //一次打印五部电影 if(i<n) { printf("输入c继续显示,输入q返回菜单\n"); getchar(); do{ scanf(" %c",&ch); }while(checkchar(ch)); } }while(ch == 'c'&&i<n); }