c语言编程操作.doc_第1页
c语言编程操作.doc_第2页
c语言编程操作.doc_第3页
c语言编程操作.doc_第4页
c语言编程操作.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

C语言编程操作1、 请根据主程序中的函数调用情况,写一个成绩函数char grade(float x),对于给定的一个百分制成绩x,要求返回其相应的等级ABCDE。90分以上为A,80-90分为B,70-79为C,60-69为D,60分一下为E.#includevoid main()char grade(float x);float x;char ch;scanf(%f,&x);ch=grade(x);printf(%c,ch);char grade(float x) char c;switch(int)x/10)case 10: ;case 9:c=A;break; case 8:c=B;break;case 7:c=C;break;case 6:c=D;break;defalut:c=E;return c;2、打印出所有的水仙花数,所为水仙花数是指一个三位数,其各位数字的立方和等于其本身。#includevoid main ()int i,j,k,n; for(n=100;n1000;n+);i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%dn,n);3、编写程序求任意两个整数的最大公约数和最小公倍数。#includeint fun(int a,int b)int t ,i,m;if (ab)t=b;elset=a;for (i=t;i0;i-)if(a%i=0&b%i=0)m=i; break;return m;void main ()int x,y,j;printf(请输入2个整数n,&x,&y);scanf(%d%d,&x,&y);j=fun(x,y);printf(最大公约数是: %d,j);printf(最小公倍数是:%dn,(x*y)/j);4、对十个数进行从大到小排序,要求使用选择法或者冒泡法。#include#define N 10void mian()int i,j,min,t,aN; for(i=0;iN-1;i+)min=i;for(j=i+1;jaj) min =j;if(min!=i)t=ai;ai=amin;amin=t;for (i=0;iN;i+)printf(%d,ai);5、编写一个函数fun,它的功能是:实现两个字符串的连接(不能使用库函数中的strcat),即把字符串str2连接到字符串str1后,例如,分别输入下面的两个字符串:JustText则程序输出:Justtext请勿改动主程序main与其它函数的内容,仅在函数FUN中的花括号中填写若干语句。注意:部分源程序给出如下:#include#includevoid fun (char str1 , char str2 )int i,t,k=0;i=strlen(str1);t=strlen(str2);for (k=0;kt;k+)str1i+k=str2k;str1i+k=0;void main()char str1100, str250;printf(输入字符串str1和字符串str2的内容:);gets(str1);gets(str2);printf(str1=%sn,str1);printf(str2=%sn,str2);fun(str1,str2);printf(连接之后的字符串为:);printf(%sn,str1);6编程实现用/41-1/3+1/5-1/7+ 公式求 的近似值,直到某一项的绝对值小于1/1000000为止。#include#includevoid main()int s;float n,t,pi;t=1;pi=0;n=1.0;s=1;while (fabs(t)=1e-6)pi=pi+t;n=n+2;s=-s;t=s/n;pi=pi*4;printf(pi=%10.6fn,pi);7、编程求100-200内的全部素数。#includevoid main()int m,i,k,n=0;for (m=101;m=200;m=m+2)k=m-1;for (i=2;i=k+1)printf(%dn,m);n=n+1;if(n%5=0)printf(n);8、输入一组整数,以0为输入结束的标志,然后显示与第一个数符号相同的所有数。例如输入:-1,2,-3,4,-5,6,则输出-1,-3,-5。#includevoid main()int a10=0,t=0,temp;do scanf(%d,&at);t+;while (at-1!=0&t10); temp=a0;for(t=0;at!=0&t0)printf(%d,at);9、编程显示fibonacci数列的前40个数,该数列的形式为:1,1,2,3,5,8,13,#includevoid main()long int f1,f2;int i ;f1=1;f2=1;for (i=1;i=20;i+)printf(%12ld%12ld,f1,f2);if(i%2=0)printf(n);f1=f1+f2;f2=f2+f1;10、编程求1!+2!+3!+4!.+10!#includevoid main()int t;double temp,result;result=0.0;temp=1.0;for(t=1;t=10;t+)temp=t*t;result=result+temp;printf(result=%.01fn,result);11、请根据主函数中调用情况,编写实现函数中void fan zhuan(char x),从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。#include#includevoid main ()char s120;int i;void fanzhuan(char x);printf(请输入一个字符串n);gets(s1);fanzhuan (s1);void fanzhuan(char x)char c;int i,n;n=strlen(x);for (i=0;i=n/2;i+)c=xi;xi=xn-i-1;xn-i-1=c;puts(x);12、有一个分数序列2/1,3/2,8/5,13/8,21/13,.求这个数列前20项之和。#includevoid main ()float a=2,b=1,i,t; float s=0;for(i=1;i=20;i+)s=s+a/b;a=a+b;b=t;printf(2/1+3/2+8/5+.+a/b=%fn,s);13、一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如,6的因子为1,2,3,而6=1+2+3,因此6是完数。编程找出500之内的所有完数并输出。#includevoid main ()int i,j,s;for(i=2;i=500;i+)s=0;for(j=1;j=i-1;j+)if(i%j=0)s=s+j;if(s=j)printf(%dn,s);14、输出乘法口诀(两种形式,注意区别)乘法口诀的不同:【1】#include void main ()int x,y; for (x=1;x=9;x+)for (y=1;y=9;y+)printf(%d*%d=%-3d,x,y,x*y);printf(n);【2】 #include void main ()int x,y;for (x=1;x=9;x+)for (y=1;y=x;y+)printf(%d*%d=%-3d,x,y,x*y);printf(n);15、编写函数判断输入的一串字符是否为“回文“。所谓回文是指,顺读和倒读都是一样的字符串,如”123321”、”abccba”。请勿改动主程序中main与其它函数的内容,仅在函数huiwen的花括号中填入若干语句。注意:部分源程序如下:#include#includeint huiwen(char c)int i,n;n=strlen(c);for(i=0;i=n/2;i+)if(ci!=cn-i-1)return 0;return 1;void main ()char str80;gets(str);if(huiwen (str)printf(%s is hui wen n ,str);elseprintf(%s is not hui wen n,str);16、输入一行字符,统计其中的单词数,单词之间用空格分隔开。运行情况如下:I am happyThere are 3 words in the line.#includevoid main()char string81;int i ,num=0,word=0; char c;gets(string);for (i=0;(c=stringi)!=0;i+)if(c= ) word=0;else if(word=0)word=1;num+;printf(There are %d words in the line .n,num);17、有一个一维数组score,内放10个学生的成绩,用一个函数求平均成绩,并在住函数中输出此值。(注意,此题必须使用函数调用,若在主函数中求平均值,则不得分)。#includevoid main()double aver(double x,int n);double score10,a;int i;printf(请输入10个成绩数值以求其平均值,谢谢合作n );for (i=0;i10;i+)scanf(%lf,&scorei);a=aver(score,10);printf(average=%fn,a);double aver(double x,int n)int i;double aa=0.0;for(i=0;in;i+)aa=aa+xi;aa=aa/n;return aa;18、输入一个整数,编写函数,判断此数是奇数还是偶数,并在主函数中输出判断结果。(注意此题必须使用函数调用,若在主函数中判断是奇数还是偶数,则不得分)。#includevoid main()int f(int x);int x,s; printf(请输入一个整数,以判断其奇偶性,谢谢n);scanf(%d,&x);s=f(x);if (s) printf(ji shu n);else printf(ou shu n);int f(int x)if(x%2=0)return 1;else return 0;19、已知一个已经安排好序的10的数组,编写程序,删除某个位置上的数组后输出。注意:简单起见,这里的位置是可以理解成数组元素所对应得下标。#include#define N 10void main()int i,xN,t;printf(请为数组N赋值10个数n);for (i=0;iN;i+)scanf(%d,xN);printf(请输入您想要删除的第几个的数值n n);scanf(%d,&t);for(i=t;iN)t=10;else t=9;for (i=0;it;i+)printf(%d,xi);20、一字符数组中存放10个字符,编写程序按从大到小的顺序进行排序。#include#define N 10void main()int i,xN,t;printf(请为数组N赋值10个数n);for (i=0;iN;i+)scanf(%d,xN);printf(请输入您想要删除的第几个的数值n n);scanf(%d,&t);for(i=t;iN)t=10;else t=9;for (i=0;it;i+)printf(%d,xi);【21】#include void main()int x10,max,min,ave;int i ;for(i=0;i10;i+)scanf(%d,&xi);for (i=0;i10;i+)ave+=xi;if (maxxi)min=xi;ave=ave/10;for(i=0;i10;i+)printf(%3.0d,xi);printf(max=%8d,min=%8d,ave=%8dn,max,min,ave);【22】通过文件指针性变量从指定文件中读取字符#include #includevoid main()FILE*fp;int ch;fp=fopen(c:助学贷款须知.txt,rt);if(fp=NULL)printf(can not open flie!);exit(0);ch=fgetc(fp);while(ch!=EOF)putchar(ch);ch=fgetc(fp);fclose(fp);【22】#includevoid main()int i,j;for (i=1;i=4;i+) for(j=1;j=4-i;j+)printf( );for(j=1;j=2*i-1;j+)printf(*);printf(n);【23】#includevoid m

温馨提示

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

评论

0/150

提交评论