Tomcat02 4.IDEA開發JavaWeb工程 4.1開發javaweb工程&配置Tomcat&啟動項目 需求:使用idea開發javaweb工程fishWeb,並將網頁部署到fishWeb工程 點擊File-New-Project 在彈出的框中點擊 Java,點擊next 寫入你的工程名字, ...
第46套
1.程式填空題
給定程式的功能是調用函數fun建立班級通訊錄。通訊錄中記錄每位學生的編號、姓名和電話號碼。班級的人數和學生的信息從鍵盤讀入,每個人的信息作為一個數據塊寫到名為myfile3.dat的二進位文件中。
請在下劃線處填入正確的內容並將下劃線刪除,使程式得出正確的結果。
註意:不得增行或刪行,也不得更改程式的結構!
#include <stdio.h> #include <stdlib.h> #define N 5 typedef struct { int num; char name[10]; char tel[10]; }STYPE; void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile3.dat","wb"))==NULL) return (0); printf("\nOutput data to file !\n"); for(i=0; i<N; i++) /**********found**********/ fwrite(&std[i], sizeof(STYPE), 1, _3_); fclose(fp); return (1); } int main() { STYPE s[10]={{1,"aaa","1111"},{1,"bbb","2222"}, {1,"ccc","3333"}, {1,"ddd","4444"}, {1,"eee","5555"}}; int k; k=fun(s); if (k==1) { printf("Succeed!"); check(); } else printf("Fail!"); return 0; } void check() { FILE *fp; int i; STYPE s[10]; if((fp=fopen("myfile3.dat","rb"))==NULL) { printf("Fail !!\n"); exit(0); } printf("\nRead file and output to screen :\n"); printf("\n num name tel\n"); for(i=0; i<N; i++) { fread(&s[i],sizeof(STYPE),1, fp); printf("%6d %s %s\n",s[i].num,s[i].name,s[i].tel); } fclose(fp); }
2.程式修改題
給定程式中,函數fun的功能是:從低位開始取出長整數s中奇數位上的數,依次構成一個新數放在t中。高位仍在高位,低位仍在低位。
例如,若s=7654321,則t=7531。
請改正函數fun中指定部位的錯誤,使它能得出正確的結果。
註意:不要改動main函數,不得增行或刪行,也不得更改程式的結構。
#include <stdio.h> /************found************/ void fun (long s, long t) { long sl=10; *t = s % 10; while ( s > 0) { s = s/100; *t = s%10 * sl + *t; /************found************/ sl = sl*100; } } int main() { long s, t; printf("\nPlease enter s:"); scanf("%ld", &s); fun(s, &t); printf("The result is: %ld\n", t); return 0; }
3.程式設計題
編寫函數fun,它的功能是:將兩個兩位正整數a、b合併形成一個整數存放在c中,合併的方式是:將a數的十位和個位數依次放在c數的個位和百位上,將b數的十位和個位數依次放在c數的千位和十位上。
例如,當a=45,b=12時,調用該函數後,c=1524。
註意:請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括弧中填入你編寫的若幹語句。
#include <stdio.h> void NONO(void); void fun(int a, int b, long *c) { } int main() { int a,b; long c; printf("Input a b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %d\n", c); NONO(); return 0; } void NONO(void) {/* 本函數用於打開文件,輸入數據,調用函數,輸出數據,關閉文件。 */ FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen("in.dat", "r") ; wf = fopen("out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(rf, "%d,%d", &a, &b) ; fun(a, b, &c) ; fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) ; } fclose(rf) ; fclose(wf) ; }
1.(1)STYPE (2)FILE (3)fp 2. void fun (long s, long *t) sl = sl*10; 3. void fun(int a, int b, long *c) { *c=1000*(b/10)+100*(a%10)+10*(b%10)+a/10; }第46套參考答案
第47套
1.程式填空題
給定程式中,人員的記錄由編號和出生年、月、日組成,N名人員的數據已在主函數中存入結構體數組std中,且編號唯一。函數fun的功能是:找出指定編號人員的數據,作為函數值返回;若指定編號不存在,返回數據中的編號為空串。
請在下劃線處填入正確的內容並將下劃線刪除,使程式得出正確的結果。
註意:不得增行或刪行,也不得更改程式的結構!
#include <stdio.h> #include <string.h> #define N 8 typedef struct { char num[10]; int year,month,day ; }STU; /**********found**********/ ___1___ fun(STU *std, char *num) { int i; STU a={"",9999,99,99}; for (i=0; i<N; i++) /**********found**********/ if (strcmp(___2___,num)==0) /**********found**********/ return (___3___); return a; } int main() { STU std[N]={{"111",1984,2,15},{"222",1983,9,21}, {"333",1984,9,1},{"444",1983,7,15}, {"555",1984,9,28},{"666",1983,11,15}, {"777",1983,6,22},{"888",1984,8,19}}; STU p; char n[10]="666"; p=fun(std,n); if(p.num[0]==0) printf("\nNot found !\n"); else { printf("\nSucceed !\n "); printf("%s %d-%d-%d\n",p.num,p.year,p.month,p.day); } return 0; }
2.程式修改題
給定程式中,函數fun的功能是:用冒泡法對6個字元串按由小到大的順序進行排序。
請改正函數fun中指定部位的錯誤,使它能得出正確的結果。
註意:不要改動main函數,不得增行或刪行,也不得更改程式的結構。
#include <stdio.h> #include <string.h> #define MAXLINE 20 void fun(char *pstr[6]) { int i, j ; char *p ; for (i = 0 ; i < 5 ; i++) { /**************found**************/ for (j=i+1, j<6, j++) { if(strcmp(*(pstr+i), *(pstr+j))>0) { p = *(pstr + i) ; /**************found**************/ *(pstr + i) = pstr + j ; *(pstr + j) = p ; } } } } int main() { int i ; char *pstr[6], str[6][MAXLINE] ; for(i = 0; i < 6 ; i++) pstr[i] = str[i] ; printf("\nEnter 6 string(1 string at each line):\n"); for(i=0 ; i<6; i++) scanf("%s", pstr[i]); fun(pstr) ; printf("The strings after sorting:\n") ; for (i = 0 ; i < 6 ; i++) printf("%s\n", pstr[i]); return 0; }
3.程式設計題
編寫函數fun,它的功能是:求出ss所指字元串中指定字元的個數,並返回此值。
例如,若輸入字元串:123412132,輸入字元1,則輸出3。
註意:請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括弧中填入你編寫的若幹語句。
#include <stdio.h> #include <string.h> #define M 81 void NONO(void); int fun(char *ss, char c) { } int main() { char a[M], ch; printf("\nPlease enter a string:"); gets(a); printf("\nPlease enter a char:"); ch = getchar(); printf("\nThe number of the char is: %d\n",fun(a,ch)); NONO(); return 0; } void NONO(void) {/* 本函數用於打開文件,輸入測試數據,調用fun函數,輸出數據,關閉文件。*/ int i ; FILE *rf, *wf ; char a[M], b[M], ch ; rf = fopen("in.dat","r") ; wf = fopen("out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(rf, "%s", a) ; fscanf(rf, "%s", b) ; ch = *b ; fprintf(wf, "%c=%d\n", ch, fun(a, ch)) ; } fclose(rf) ; fclose(wf) ; }
1.(1)STU (2)std[i].num (3)std[i] 2. for (j=i+1; j<6 ; j++) *(pstr + i) = *(pstr + j) ; 3. int fun(char *ss, char c) { int i,n=0; for (i=0;ss[i]!='\0';i++) if (ss[i]==c) n++; return n; }第47套參考答案
第48套
1.程式填空題
給定程式中,函數fun的功能是:計算出帶頭結點的單向鏈表中各結點數據域之和作為函數值返回。
請在下劃線處填入正確的內容並將下劃線刪除,使程式得出正確的結果。
註意:不得增行或刪行,也不得更改程式的結構!
#include <stdio.h> #include <stdlib.h> #define N 8 typedef struct list { int data; struct list *next; } SLIST; SLIST *creatlist(int *); void outlist(SLIST *); int fun(SLIST *h) { SLIST *p; int s=0; p=h->next; while(p) { /**********found**********/ s+= p->___1___; /**********found**********/ p=p->___2___; } return s; } int main() { SLIST *head; int a[N]={12,87,45,32,91,16,20,48}; head=creatlist(a); outlist(head); /**********found**********/ printf("\nsum=%d\n", fun(___3___)); return 0; } SLIST *creatlist(int a[]) { SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST)); for(i=0; i<N; i++) { q=(SLIST *)malloc(sizeof(SLIST)); q->data=a[i]; p->next=q; p=q; } p->next=0; return h; } void outlist(SLIST *h) { SLIST *p; p=h->next; if (p==NULL) printf("The list is NULL!\n"); else { printf("\nHead "); do { printf("->%d", p->data); p=p->next; } while(p!=NULL); printf("->End\n"); } }
2.程式修改題
給定程式中,函數fun的功能是:根據形參m,計算
S=1+1/2+1/3+…+1/m
例如,若輸入5,則應輸出2.283333。
請改正函數fun中指定部位的錯誤,使它能得出正確的結果。
註意:不要改動main函數,不得增行或刪行,也不得更改程式的結構。
#include <stdio.h> double fun(int m) { double t = 1.0; int i; for( i = 2; i <= m; i++ ) /**********found**********/ t += 1/i; /**********found**********/ return t } int main() { int m; printf( "\nPlease enter 1 integer number:" ); scanf( "%d", &m ); printf( "\nThe result is %lf\n", fun( m ) ); return 0; }
3.程式設計題
編寫函數fun,它的功能是:統計一個長度為2的字元串substr在另一個字元串sub中出現的次數。
例如,假定輸入的字元串為:asd asasdfg asd as zx67 asd mklo,子字元串為as,則應輸出6。
註意:請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括弧中填入你編寫的若幹語句。
#include <stdio.h> #include <string.h> int fun(char *str,char *substr) { } int main() { char str[81],substr[3]; int n; printf("輸入主字元串: "); gets(str); printf("輸入子字元串: "); gets(substr); puts(str); puts(substr); n=fun(str,substr); printf("n=%d\n",n); NONO(); return 0; } void NONO(void) { /* 請在此函數內打開文件,輸入測試數據,調用 fun 函數, 輸出數據,關閉文件。 */ char str[81],substr[3], ch; int n,len, i = 0; FILE *rf, *wf ; rf = fopen("in.dat","r") ; wf = fopen("out.dat","w") ; while(i < 5) { fgets(str, 80, rf) ; fgets(substr, 10, rf) ; len = strlen(substr) - 1 ; ch = substr[len] ; if(ch == '\n' || ch == 0x1a) substr[len] = 0 ; n=fun(str,substr); fprintf(wf, "%d\n", n) ; i++ ; } fclose(rf) ; fclose(wf) ; }
1.(1)data (2)next (3)head 2. t += 1.0/i; return t; 3. int fun(char *str,char *substr) { int i,n=0; for (i=0;str[i]!='\0' && str[i+1]!='\0';i++) if (str[i]==substr[0] && str[i+1]==substr[1]) n++; return n; }第48套參考答案
第49套
1.程式填空題
給定程式中,函數fun的功能是:把形參a所指數組中的偶數按原順序依次存放到a[0]、a[1]、a[2]、……中,把奇數從數組中刪除,偶數個數通過函數值返回。
例如,若a所指數組中的數據最初排列為:9、1、4、2、3、6、5、8、7,刪除奇數後a所指數組中的數據為:4、2、6、8,函數返回值為4。
請在下劃線處填入正確的內容並將下劃線刪除,使程式得出正確的結果。
註意:不得增行或刪行,也不得更改程式的結構!
#include <stdio.h> #define N 9 int fun(int a[], int n) { int i,j; j = 0; for (i=0; i<n; i++) /**********found**********/ if (___1___== 0) { /**********found**********/ ___2___ = a[i]; j++; } /**********found**********/ return ___3___; } int main() { int b[N]={9,1,4,2,3,6,5,8,7}, i, n; printf("\nThe original data :\n"); for (i=0; i<N; i++) printf("%4d ", b[i]); printf("\n"); n = fun(b, N); printf("\nThe number of even :%d\n", n); printf("\nThe even :\n"); for (i=0; i<n; i++) printf("%4d ", b[i]); printf("\n"); return 0; }
2.程式修改題
給定程式中,函數fun的功能是:根據形參m,計算
t=1-1/2-1/3-…-1/m
例如,若主函數中輸入5,則應輸出-0.283333。
請改正函數fun中指定部位的錯誤,使它能得出正確的結果。
註意:不要改動main函數,不得增行或刪行,也不得更改程式的結構。
#include <stdio.h> double fun(int m) { /**********found**********/ double t; int i; for( i = 2; i <= m; i++ ) /**********found**********/ t = 1.0-1 /i; return t; } int main() { int m ; printf( "\nPlease enter 1 integer numbers:\n" ); scanf( "%d", &m); printf( "\nThe result is %f\n", fun(m)); return 0; }
3.程式設計題
編寫函數fun,它的功能是:刪除字元串中的所有空格。
例如,主函數中輸入“asd af aa z 67”,則輸出為“asdafaaz67”。
註意:請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括弧中填入你編寫的若幹語句。
#include <stdio.h> void NONO(void); void fun(char *str) { } int main() { char str[81]; printf("Input a string:") ; gets(str); puts(str); fun(str); printf("*** str: %s\n",str); NONO(); return 0; } void NONO(void) { /* 請在此函數內打開文件,輸入調試數據,調用 fun 函數, 輸出數據,關閉文件。 */ char str[81]; int n = 0; FILE *rf, *wf ; rf = fopen("in.dat","r") ; wf = fopen("out.dat","w") ; while(n < 10) { fgets(str, 80, rf); fun(str); fprintf(wf, "%s", str) ; n++ ; } fclose(rf) ; fclose(wf) ; }
1.(1)a[i]%2 (2)a[j] (3)j 2. double t=1.0; t = t-1.0/i; 3. void fun(char *str) { int