当前位置:首页 > 大学大一c语言程序设计实验室上机题全部代码答案(实验报告)
#include
void delchar(char *s,char c) {
char s2[50]; int i,j;
for(i=0,j=0;s[i]!='\\0';i++){ if(s[i]!=c){ s2[j]=s[i]; j++; } }
s2[j]='\\0';
for(i=0;s2[i]!='\\0';i++){ s[i]=s2[i]; }
s[i]=\ } int main() {
char str[20]=\ delchar (str,'c'); puts(str);
system(\
}
实验7-2:
写一个函数int find( char *s1, char *s2),函数find的功能是查找串s1中是否包含指定的词(s2指向),如果存在则返回第1次出现的位置,否则返回-1.约定串中的词由1个或1个以上的空格符分隔。
源代码:
#include
int find(char *s1,char *s2) {
int i=0,j=0; char *p=s2;
for(;s1!='\\0';s1++,i++) { if(*s1!=*s2) { s2=p; j=0; } if(*s1==*s2)
{ j++; s2++; if(*s2=='\\0') { return i-j+2; } } }
return -1; }
int main() {
char *s1=\ printf(\ printf(\ }
实验7-3:
编程实现将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符形式输出。例如:输入十进制数79,将输出十六进制数4f
源代码:
#include
int i=0;
while(n!=0){ int bit=n; a[i]=bit; i++; n=n/16; }
return i; } int main() {
int x;
printf(\ scanf(\ int a[10]={0};
int nbits=DtoH(x,a); int i;
printf(\转换后的数为\\n\ for(i=nbits-1;i>=0;i--){ if(a[i]>9)
printf(\ else
printf(\ }
printf(\
system(\
}
实验7-4:
定义函数void Merge(int a[], int n, int b[], int m),参数a、b为一维数组,数组中的数据为升序排列,n和m分别为它们的元素个数。函数的功能为:将数组a和b合并为一个数组,合并后的结果存放于数组a中,要求合并后的数组a仍旧为升序排列。请编程实现,并编写main函数对其测试。
源代码:
#include
void Merge(int a[],int n,int b[],int m) {
int *p,*q,i,j,k; p=a; q=b;
for(i=0;i<10;i++) { if(i>0&&*(p+i)<*(p+i-1)) { *(p+i)=*q; q++; } }
for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(*(p+i)>*(p+j)) { k=*(p+i); *(p+i)=*(p+j); *(p+j)=k; } }
main() {
int a[10]={2,3,5,7,9},b[5]={1,4,6,8,10};
int i;
Merge(a,10,b,5); for(i=0;i<10;i++) printf(\ }
实验8-1:
编写一个书名排序程序,输入10个书名存入一个二维数组,用函数void sortstring( char *name[] , int n)实现它们的字典顺序。
源代码:
#include
#include
void sortstring(char *name[],int n) {
char *p; int i,j;
for(i=0;i
main() {
char *name[]={\ \ int a;
sortstring(name,10); for(a=0;a<10;a++) printf(\ }
实验8-2:
编写函数void search( char *s1, char *s2, char *s3)。函数search()从已知的两个字符串s1与s2中找出它们都包含的最长的单词放入字符串s3,约定字符串中只有小写字母和空格字符,单词用1个或1个以上空格分隔
源代码:
共分享92篇相关文档