C语言的一些编程题及答案_第1页
C语言的一些编程题及答案_第2页
C语言的一些编程题及答案_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、杨辉三角:#include<stdio.h>int main()int a1010=0;a00=a10=a11=1;printf("%dn",a00);for(int i=1;i<8;i+)ai0=1;printf("%dt",ai0);for(int j=1;j<i;j+)aij=ai-1j-1+ai-1j; printf("%dt",aij);aij=1;printf("%dt",aij);printf("n");2、求最大连续数int main()int a5=

2、3,1,3,4,2;int sum5,i;sum0=3;int weizhi5=-1,-1,-1,-1,-1; weizhi0=-1;for(i=1;i<5;i+)sumi=ai; if(sumi-1+ai>ai) sumi=sumi-1+ai; weizhii=i-1;int max=sum0,max_i=0; for(i=0;i<5;i+)printf("%dn",sumi);if(max<sumi)max=sumi; max_i=i;printf(" 位置 :");i=max_i;while(i>=0) printf(

3、"%dt",i); i=weizhii;printf("n");return 0;3、判断字符串是否为回文int main()char str6="paeap" int length=strlen(str); char str16;int i,j=0;str15='0' for(i=length-1;i>=0;i-)str1j=stri;j+;printf("%d",length); if(strcmp(str,str1)=0)printf(" 回文。 ");return

4、0;4、求输入单词数量:int main()char ch;int count=0;int inword=0; while(ch=getchar()!='n') putchar(ch);if(ch=' ')inword=0;elseif(inword=0)count+;inword=1;printf(" 单词数量为 :%d",count);return 0;5、筛选法求 2-n 间的素数int main()printf(" 输入 2-N:n");int n;scanf("%d",&n);int

5、primes200;int a200;int k=0;int flag=0;for(int i=0;i<=n;i+)ai=i;int j=2;int num=n-1;while(num>0)flag=1;for(int i=2;i<=sqrt(j);i+) if(j%i=0)flag=0;break;if(flag=1)primesk+=j; int p=j; int g=1; int x=p; while(x<=n) if(ax=0) g+; x=g*p; else ax=0; num-; g+; x=g*p;j+;for(int f=0;f<k;f+)prin

6、tf("%dt",primesf); return 0;6、选择排序 int main() int a5=1,3,2,5,4;int i=0,j=0; for(i=0;i<5;i+)int k=i; for(j=i;j<5;j+)if(aj<ak)k=j;if(k!=i)int t=ak; ak=ai; ai=t;for(int k=0;k<5;k+)printf("%d",ak);return 0;7、折半查找int main()int a5=1,3,5,7,9; printf(" 请输入一个数: ");in

7、t num; scanf("%d",&num);int top=0,end=4,mid; while(top<=end)mid=(top+end)/2; if(amid=num) printf("%d",mid); break;else if(amid>num)end=mid;elsetop=mid;return 0;8、冒泡排序int main()int a5=2,3,4,7,2; int i=0,j=0; for(i=1;i<5;i+) for(j=0;j<5-i;j+) if(aj>aj+1) int t=aj

8、; aj=aj+1; aj+1=t;for(int k=0;k<5;k+)printf("%dt",ak); return 0;9、字符串参数逆序存放 int main()char str6="hello"char c; int n=strlen(str),i; for(i=0;i<=n/2;i+) c=stri; stri=strn-i-1; strn-i-1=c;puts(str);return 0;10、两个字符串连接起来 int main()char s16="hello" char s26="C pro

9、"int i=0;int s1length=strlen(s1); while(s2i!='0') s1s1length+i=s2i; i+;s1s1length+i='0'puts(s1);return 0;11、将字符串中的小写转化为大写int main()char str6="heLLo"for(int i=0;stri!='0'i+) if(stri<=122&&stri>=97) stri=stri-32;puts(str);12、将实数参数转化为字符串int main()flo

10、at a=1.23;int p=int(a);int t;p=a-p;while(p!=0)t=(int)p*10;printf("%d",t);p=p*10-(int)p*10);return 0;13、马鞍点,行最大值,列最小值int main()printf(" 这是一个几行几列的矩阵 :n");int row,lie,a1010=0;int i,j;scanf("%d%d",&row,&lie);printf(" 请输入这个矩阵的值 :n");for(i=0;i<row;i+)for(

11、j=0;j<lie;j+)scanf("%d",&aij);printf(" 马鞍点是 :n");for(i=0;i<row;i+)int flag=1;int max=ai0,max_i=i,max_j=0;for(int k=0;k<lie;k+)if(max<aik)max_j=k;max=aik;for(j=0;j<row;j+)if(max<ajmax_j)flag =0;break;if(flag=0)continue;printf("%d,%d,%dn",max_i,max_j

12、,max);return 0;14、利用字符串读写函数实现文件的复制int main()FILE *fp1,*fp2;char strlen;if(fp1=fopen("1.txt","r")=NULL)printf("Open File Error!");exit(1);if(fp2=fopen("2.txt","w")=NULL)printf("Open File Error!");exit(1);while(!feof(fp1)fgets(str,len,fp1);fp

13、uts(str,fp2);fclose(fp1);fclose(fp2);return 0;15、计算文本文件的行数以及每行的字符数 int main()FILE *fp1;int a10=0;int num=0;int i=0,k;char c;if(fp1=fopen("1.txt","r")=NULL)printf("OPen file error!");exit(1);while(!feof(fp1)if(c=fgetc(fp1)='n')num+;i+;elseif(c=EOF)num+;break;ai+;

14、fclose(fp1);printf("%dn",num);for(k=0;k<=i;k+) printf("%dt%dn",k,ak);return 0;16、从键盘输入一个字符串,将大写字母转为小写,存到text.txt 中。int main()FILE *fp1;char str20;int i;printf(" 请输入一个字符串 :n");gets(str);for(i=0;stri!='0'i+) if(stri<=90&&stri>=65) stri=stri+32;if(

15、fp1=fopen("test.txt","w")=NULL) printf("open file erro!");exit(1);fprintf(fp1,"%s",str);fclose(fp1);return 0;17、从键盘输入若干行字符, 输入后把它们存到一个文件中, 再从文件中读入这 些数据,将其中的小写换成大写后输出。int main()FILE *fp1;char ch;if(fp1=fopen("text.txt","a+")=NULL) printf(&qu

16、ot;open file error!");exit(1);printf("输入字符串,以*号结束输入:n");while(ch=getchar()!='*')fputc(ch,fp1);rewind(fp1);while(!feof(fp1)ch=fgetc(fp1); putchar(ch);return 0;18、插入排序int main()int a9=4,2,6,8,1,7,3,10,9;int j,i;for(i=1;i<9;i+)int k=ai;j=i-1;while(j>=0&&k<aj)j-;a

17、j+1=aj;aj+1=k;for(i=0;i<9;i+)printf("%dt",ai);return 0;N 的位数不确定19、用递归法将一个整数 N 转换成字符串 void GetNum(int n)if(n>0)GetNum(n/10);printf("%d",n%10);int main()int a;printf(" 请输入一个整数 :n");scanf("%d",&a);GetNum(a);printf("n");return 0;20、编写一个函数,输入一行字

18、符,将此字符串中最长单词输出 int main()char str100;int inword=0;int maxlength=0;int length=0;int i;int start=0,end=0;printf(" 输入一行字符 :n");gets(str);for(i=0;stri!='0'i+)if(stri=' ')if(maxlength<length)end=i-1;start=end-length+1;maxlength=length;length=0;elselength+;if(maxlength<leng

19、th)end=i-1; start=end-length+1;maxlength=length;printf("%d%d%d",start,end,length);return 0;21、编写一个函数,输入一个十六进制数,输出相应的十进制数double GetShiJinZhi(int n)double sum=0;int i=0;while(n>0)int m=n%10;sum=sum+m*pow(16,i);n=n/10;i+;return sum;int main()int a;int b;printf(" 请输入一个十六进制数 :n");s

20、canf("%d",&a);b=(int)GetShiJinZhi(a);printf("%dn",b);return 0;22、编程找到并且输出 2-n 间所有素数的程序。int main()int n,i,j,count,flag;printf(" 请输入 N:n");scanf("%d",&n);for(i=2;i<=n;i+)flag=1;for(j=2;j<=sqrt(i);j+)if(i%j=0)flag=0;break; if(flag=1)count+; printf(&

21、quot;%dt",i); if(count%4=0) printf("n");printf("n");return 0;如(3+4)*5 是23、编写一个判断一个仅有加减乘除的算术表达式是否合法的函数, 合法的,但( 3+4*5 是不合法的。int main()char str10;int i=0;int flag=1;int yes=1;printf(" 请输入一个表达式 :n"); scanf("%s",str);for(i=0;stri!='0'i+) if(stri='+

22、'|stri='-'|stri='*'|stri='/') if(flag=0)yes=0; break;flag=0;elseflag=1;if(yes=1)printf("yesn");else printf("non");return 0;24、已有文本文件 test.txt 编写一个程序,读取 test.txt, 统计各单词出现的次数, 并将各单词和其出现的次数输出到屏幕和文件中。typedef struct dancichar str20;int num;Words;int n;void check(Words a,char str)int i;int flag=1;for(i=0;i<n;i+)if( strcmp(ai.str,str)=0)flag=0;ai.num=ai.num+1;break;if(flag=1)strcpy(an.str,str);an.num=1;n=n+1;int main()FILE *fp,*fp1;char s2020='0'Words a20;char ch;int i=0,j=0; if(fp=fopen("test.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论