四川大学c语言真题及答案新课标,四川大学C语言2003年真题_跨考网
一、分析下面的 程序,寫出程序執行結果。(每小題4分,共2分)
1、
#include〈stdio.h〉
void swap (int **p1,int **p2)
{ int *t;
t=*p1;
p1=p2;
*p2=t;
}
void main( )
{ int a=1、b=3、*p=&a、*q=&b;
swap(&p、&q);
printf('%d、5d、%d、%d\n"、a、b、*p、*q;
}
//因為在swap函數里交換的是兩個參數的地址,所以參數使用的是兩級指針,表示交換的是指針的地址,最終使p指向了b,q指向了a。
1,3,3,1
2.
# include
void merge (char *d、char sl、char、S2)
{ while (*sl!='\0' && *S2!='\0')
if (*sl
d++=*sl++;
else
d++=*s2++;
while (*sl!='\0) *d++=sl++;
while (*s2!='\0') *d++=s2++;
*d='\0',
}
void main( )
{ char sl="acdgh",s2="bcfhi",s3[20];
merge(s3,s1,s2);
puts(s3)
}
//將兩個字符串合為一個按照字母順序排列的串
abccdfghhi
二、按要求完成C函數。(每小題10分,共20分)
1.int maxsameChar(char *s);
該函數計算字符串s中最大連續相同的字符個數。例如,若s為"aaabbbb",則返回值為4;若s為"abcde",則返回值為1。
int maxSameChar (char *s)
{ int temp=1, max=0;
char c='\0';
while (*s)
{ if (c==*s)
tmpe++;
else
{ c=*s;
temp=1;
}
if (max
max=temp;
s++;
}
return max;
}
1. struct mode *reverse(struct mode *pHead);
其中,struct node定義如下:
struct node
{ int key ;
struct node *pNext;
};
此函數傳入的pHead指向要處理的單向鏈表頭,該鏈表以NULL指針結束。函數實現鏈表鏈接方向(包括pHead指向的原頭節點)的反轉,如圖1所示。并將新鏈表頭指針作為函數值返回。在完成此函數時,你只能利用原有鏈表節點,不能申請新節點空間。
struct node* reverse (struct node* pHead)
{ struct nodt *p,*q,*t;
if (pHead==NULL)
return NULL;
p=pHead;
q=p->pNext;
while (q! -NULL)
{ t =q->pNext;
q->pNext=p;
p=q;
q=t;
}
pHead->pNext=NULL;
pHead=p;
return pHead;
}
三、按要求完成簡單的客車車次查詢程序。(12分)
某車站需要一個簡單的客車車次查詢程序。說明如下:
1.客車車次數據文件checi.txt放在c:\data目錄下,格式為:
T8成都 北京西09:30
1364成都 北京西14:20
K118攀枝花 北京西22:00
… … …
其中每行為一次車的信息,分為4個數據項:車次,始發站,終點站和離開本站時間。前三個數據項留的寬度為8字符,最后一項結束后即換行。數據項間一定有空格隔開,每一數據項內無空格。
2.你的程序對用戶通過命令行參數指一的車次,在客車車次數據文件中查找相應車次信息并輸出該次車的始發站,終點站和離開本站時間,如果未找到,則輸出“找不到該次車信息!”。
3.你的程序可以使用標準的C庫函數,可以不引用文件。程序中應給出必要的注釋。
int main (int argc, char *argv [ ])
{ char info [4] [20];
FILE * fp;
int I,found=0;
if (argc!=2)
{ printf("參數個數不正確!\n");
return 1;
}
fp=fopen ("c:\\checi. txt ","r");
if (fp==NULL)
{ printf ("無法打開數據文件!\n");
return 1;
}
while (! feof (fp))
{ for (I=0;i<4; i++)
fscanf (fp,"%s",info[i]);
if (!stricmp (info[0],argv[1]))
{ found=1;
printf("始發站:%s\n",info [1]);
printf("始發站:%s\n",info [2]);
printf("離本站時間:%s\n",info [3]);
break;
}
}
if (! found )
printf("找不到該次車信息!\n");
return 0;
}
總結
以上是生活随笔為你收集整理的四川大学c语言真题及答案新课标,四川大学C语言2003年真题_跨考网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科大星云诗社动态20201129
- 下一篇: ustc小道消息20220122