C语言编程小题及解答

上传人:M****1 文档编号:561809825 上传时间:2023-05-10 格式:DOC 页数:10 大小:32KB
返回 下载 相关 举报
C语言编程小题及解答_第1页
第1页 / 共10页
C语言编程小题及解答_第2页
第2页 / 共10页
C语言编程小题及解答_第3页
第3页 / 共10页
C语言编程小题及解答_第4页
第4页 / 共10页
C语言编程小题及解答_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《C语言编程小题及解答》由会员分享,可在线阅读,更多相关《C语言编程小题及解答(10页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 【程序1】题目:八进制转换为十进制程序源代码:#include int main()char *p,s6;int n;p=s;gets(p);n=0;while (*(p)!=0)n=n*8+*p-0;p+;printf(%d,n);return 0;【程序2】题目:输入3个数a,b,c,按大小顺序输出。1.程序分析:利用指针方法。2.程序源代码:#include int main()int n1,n2,n3;int *pointer1,*pointer2,*pointer3;void swap(int *p1,int *p2);printf(p

2、lease input 3 number:n1,n2,n3:);scanf(%d,%d,%d,&n1,&n2,&n3);pointer1=&n1;pointer2=&n2;pointer3=&n3;if(n1n2) swap(pointer1,pointer2);if(n1n3) swap(pointer1,pointer3);if(n2n3) swap(pointer2,pointer3);printf(the sorted numbers are:%d,%d,%dn,n1,n2,n3);return 1;void swap(int *p1,int *p2)int p;p=*p1;*p1=*

3、p2;*p2=p;=【程序3】题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:输入10个数;进行处理;输出10个数。程序源代码:#include void main()int number10;void input(int number10);void max_min(int array10);void output(int array10);input(number);max_min(number);output(number);void input(int number10)int i;for(i=0;i10;i+)scanf(%d,&numbe

4、ri);void max_min(int array10)int *max,*min,k,l;int *p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;p*max) max=p;if(*p*min)min=p;l=*min;*min=array0;array0=l;k=*max;*max=array9;array9=k;void output(int array10) int *p;for(p=array;p=array+9;p+)printf(%d ,*p);printf(n);=【程序4】题目:有n个人围成一圈,顺序排号。从第

5、1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。程序源代码:#include #define nmax 50void main()int i,k,m,n,numnmax,*p;printf(please input the total of numbers:);scanf(%d,&n);p=num;for(i=0;in;i+)*(p+i)=i+1;i=0;k=0;m=0;while(mn-1)if (*(p+i)!=0) k+;if (k=3) *(p+i)=0;k=0;m+;i+;if(i=n) i=0;while(*p=0) p+;printf(%d

6、is leftn,*p);=【程序5】题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。程序源代码:#include #include void main()int len;char str20;int length(char *p);printf(please input a string:n);gets(str);len=length(str);printf(the string has %d characters.,len);int length(char *p)int n;n=0;while(*p!=0)n+;p+;return n;【程序6】有一字符串,

7、包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。#include void func(char *str1,char *str2,int m)char *s1=str1+m-1;char *s2=str2;while(*s1!=0)*s2=*s1;s1+;s2+;*s2=0; void main()char str1100;char str2100;int m;printf(请输入一个字符串n);gets(str1);printf(请输入从第几个字符开始拷贝n);scanf(%d,&m);func(str1,str2,m);printf(拷贝的字符串为%sn

8、,str2);【程序7】写一函数,将一个33的整形矩阵转置。#include void func(int a33)int *pt,temp,i,j;pt=a0;for(i=0;i3;i+)for(j=i+1;j3;j+)temp=*(pt+3*i+j);*(pt+3*i+j)=*(pt+3*j+i);*(pt+3*j+i)=temp;void main()int a33;int i,j;printf(请输入一个3*3的整型数n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);printf(转置前的矩阵为n);for(i=0;i3;i+)for(j=0;j

9、3;j+)printf(%d ,aij);printf(n);func(a);printf(转置后的矩阵为n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%d ,aij);printf(n);【程序8】在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。#include #include #define N 10 /字符串个数,可以任意更改/交换字符串内容void change(char a,char b)char t81;char *p;p=t;strcpy(p,a);strcpy(a,b);strcpy(b,p);/

10、对多个(ln个,即ln行)字符串从小到大排序void str_sort(char str81,int ln)int i,j;for(i=0;iln-1;i+)for(j=0;j0) change(*(str+j),*(str+j+1);void main() int i; char sN81; printf(请输入%d个字符串:n,N); for(i=0;iN;i+) gets(si); /输入字符串 str_sort(s,N); /调用函数str_sort()排序 printf(从小到大排序:n); for(i=0;iN;i+) printf(%d) ,i+1);/显示顺序号 puts(si

11、); /排序后输出 【程序9】用指针数组处理:在主函数中输入10个不等长的字符串。用另一个函数对它们排序。然后在主函数输出已排好序的字符串。#include #include #define N 10 /字符串个数(可以任意更改)/对指针数组char *str排序,即改变指针的值,使它们所指向的字符串(共有ln行)从小到大排序void str_sort(char *str,int ln)int i,j;char *t;for(i=0;iln-1;i+)for(j=0;j0) t=*(str+j);*(str+j)=*(str+j+1);*(str+j+1)=t;void main() int i; char cN81; char *pN; /字符型指针数组(即N个字符指针组成的数组) printf(请输入%d个字符串:n,N); for(i=0;iN;i+) p

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号