版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。(1)当x小于1时,y等于2+cos(x)(2)当x大于等于1且x小于2时,y等于x的平方加上sin(x)(3)当x大于等于2时,y等于(x-2)的平方根;要求:按格式输出x和y的值,要求小数点后保留2位。#include#includevoid main()float x,y;printf(请输入x的值n);scanf(%f,&x);if(x1)y=2+cos(x);elseif(1=x&x2)y=x*x+sin(x);elsey=sqrt(x-2);printf(y=%.2fn,y);2、从键盘读入一个实数,对其进行四
2、舍五入处理,要求精确到到小数点后两位。例如输入12.345,其结果为12.35;输入12.341,其结果为12.34。#include stdio.hint main() double x; int y; printf(请输入一个实数:n); scanf(%lf,&x); y=(int)(x*1000); if(y%10=4) y=y-y%10; else y=y+10; y=y-y%10; printf(该实数,四舍五入保留两位小后是%.2lf.n,y*1.0/1000); return 0; 3、从键盘输入任意一个字母,如果其为大写字母,则转为小写字母;如果其为小写字母,请转换为大写字母;
3、其他情况保持不变,计算并输出。#includevoid main()char a,b;scanf(%c,&a);if (a=A)b=a+32;else if(a=a)b=a-32;elseb=a;printf(%cn,b);4、从键盘输入三个整数a、b、c,输出其中最大的数。#includevoid main()int a,b,c,max;scanf(%d%d%d,&a,&b,&c);if (ab)max=b;elsemax=a;if(maxc)printf(最大值是%dn,c);elseprintf(最大值是%dn,max);6、输入一个3位的正整数,判定该正整数是否为一个回文数。(所谓回文
4、数是指正读和反读都相同的数,例如131)。#includevoid main()int a,b,c;scanf(%d,&a);b=a/100;c=a%10;if(c=b)printf(YESn);elseprintf(NOn);7、从键盘输入国际货币表示的商品价格,请转换为人民币。要求:仅仅考虑美元($)和欧元,汇率分别6和8。例如输入$100,输出600,输入E100,输出800#includevoid main()int x;char ch;printf(输入货币单位n);scanf(%c,&ch);printf(输入货币金额);scanf(%d,&x);if(ch=$)printf(转化
5、为人民币为%dn,6*x);if(ch=E)printf(转化为人民币为%dn,8*x);9、从键盘输入一个自然数,判定其是否为完数,如果是,输出Yes,否则输出No。完数是指一个整数的所有因子之和等于其自身的数,例如6=1+2+3。#includevoid main() int x,i,sum=0; printf(Please input a numbern); scanf(%d,&x); for(i=1;i=x/2;i+) if(x%i=0) sum=sum+i; if(sum=x) printf(Yesn); else printf(Non);10、从键盘读入一个自然数,判定其是否为素数
6、,如果是,输出Yes,否则输出No#includevoid main()int x,i;printf(Please input a number:n); scanf(%d,&x);for(i=2;ix;i+)if(x%i=0) printf(Non);break;if(i=x)printf(Yesn);11、由x,y二个数字组成二位数xy和yz,且xy+yz=102。如果有解,输出所有解,否则输出无解#includevoid main()int i,j,a,b;for(i=1;i10;i+)for(j=1;j10;j+) a=i*10+j; b=i+j*10; if(a+b=102) prin
7、tf(x=%d,y=%dn,i,j);if(i=10&j=10)printf(no answern);12、计算Fibonacci数列中前5项的和。提示:Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1,F(n)=F(n1)F(n2)。#includevoid main()char F10=0,1;int i,sum=F0+F1; for(i=2;i6;i+) Fi=Fi-1+Fi-2; sum=sum+Fi;printf(sum=%dn,sum);13、计算全部水仙花数的和(提示:“水仙花” 数是指一个三位数,其各位数字的立方和等于该数本身,例如:153).#include
8、void main()int i,a,b,c,sum=0; for(i=100;i1000;i+) a=i%10;b=i/10%10;c=i/100; if(i=a*a*a+b*b*b+c*c*c)printf(%dn,i);sum=sum+i;printf(sum=%dn,sum);14、从键盘输入一个三位整数,计算其上下边界,例如123,其下边界为100,上边界为199,依此类推#includevoid main()int x,a,b;printf(输入一个三位整数);scanf(%d,&x);a=(x/100)*100;b=a+99; printf(下边界是%d,上边界是%dn,a,b)
9、;15、从键盘输入一个三位纯小数,计算其上下边界,例如0.123,其下边界为0.100,上边界为0.199,依此类推#includevoid main()float x,a,b;printf(输入一个三位纯小数n);scanf(%f,&x);a=(int)(1000*x)/100)*0.1;b=a+0.099; printf(下边界是%.3f,上边界是%.3fn,a,b);16.输出公元1000至今的所有闰年的数量#includevoid main()int i,count=0; for(i=1000;i=2015;i+) if(i%4=0&i%100!=0|i%400=0)printf(%d
10、n,i);count=count+1; printf(公元1000至今的所有闰年的数量为%dn,count);17、*计算1/2,2/3,3/5,5/8,8/13,13/21, 的前10项和,并输出结果*/#includevoid main()double i=1,j=2,k,m,s=0; for(k=1;k=10;k+)s+=i/j;m=j; j+=i;i=m; printf(值为:%fn,s);18、从键盘读入一个3位整数,将各个权位的数字转化为字符后输出。例如输入123,则转换为三个字符1,2,3,输出结果为1,2,3.#includevoid main()int a,b,c,d;cha
11、r x,y,z;scanf(%d,&a);b=a/100;c=(a%100)/10;d=a%10;x=b+0;y=c+0;z=d+0;printf(%c,%c,%cn,x,y,z);19、求1000以内素数的和#includevoid main()int a,b,sum=0;for(a=2;a=1000;a+)for(b=2;ba;b+)if(a%b=0)break;if(b=a)sum=sum+a;printf(%dn,a);printf(%dn,sum); 20、计算分数序列:2/1,3/2,5/3,8/5,13/8,21/13,的前10项之和并输出#includemain()int i;
12、double a,b,m;double sum=0.0;a=1.0;b=2.0;for(i=0;i10;i+)sum+=b/a;m=b;b=a+b;a=m;printf(sum=%lfn,sum);21、编写程序输出S=1-1/2+1/3-1/4+1/99-1/100的结果。#includemain()int n;float m,j=1.0,sum=0.0;for(n=1;n=100;n+)m=j/n;sum+=m;j=-j;printf(sum=%fn,sum);22、编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。三角形面积公式:area=s
13、qrt(s(s-a)(s-b)(s-c),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h)#include#includemain()float a,b,c;float s,area;printf(a,b,c=n);scanf(%f%f%f,&a,&b,&c);if(a+bc&a+cb&b+ca)s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%fn,area);elseprintf(Wrong!);23、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。#includemain()int
14、a,i;printf(请输入一个正整数:);scanf(%d,&a);printf(%d=,a);for(i=2;i=a;i+)while(a%i=0)printf(%d*,i);a=a/i;24、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=123。编程找出1000以内的所有完数。#include main()int i,j,n,sum=0;for(i=1;i=1000;i+)n=0;for(j=1;ji;j+)if(i%j=0)n=n+j;if(n=i)printf(%dn,i);printf(%dn,sum);25、输入一行字符,分别统计出其中英文字母、空格、数字和其它字
15、符的个数。#includemain()char str1000=19 0fsd9 iqkdsE ;int i,n,a=0,b=0,c=0,d=0;for(i=0;stri!=0;i+)if(stria&striA&striZ)a+=1;else if(stri= )b+=1;else if(stri=0&stri=9)c+=1;elsed+=1;printf(a=%dnb=%dnc=%dnd=%dn,a,b,c,d);26、实现两个数的#法和$法运算。如输入3,4,#,输出25;输入3,4,$,输出34;提示:#法和$法运算是自己定义的一种运算,a#b=a*a+b*b,a$b=a*10+b。#
16、includemain()int a,b,s;char c;printf(Plesase input a,b,c!);scanf(%d,%d,%c,&a,&b,&c);switch(c)case #:s=a*a+b*b;printf(%dn,s);break;case $:s=a*10+b;printf(%dn,s);break;27、初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。#includemain()int a10=1,2,3,4,5,6,7,8,9,10;int i,n;printf(Please
17、 enter one number:);scanf(%d,&n);for(i=0;i10;i+)if(n=ai)break;if(i10)for(i=i;i10;i+)ai=ai+1;for(i=0;i9;i+)printf(%d,ai);elseprintf(non);28、初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。#includemain()char a=abcdefghijklmnopqrstuvwxyz;char C;int i,nC;printf(Please input a letter :);scan
18、f(%c,&C);for(i=0;i26;i+)if(C=ai)nC=i;for(i=nC;i25;i+)ai=ai+1;a24=a25;for(i=0;i25;i+)printf(%c ,ai);printf(n);29、计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。#includemain()char a=abcdefghijklmnopqrstuvwxyz;char C;int i,nC;printf(Please input a letter :);scanf(%c,&C);for(i=0;i26;i+)if(C=ai)nC=i;fo
19、r(i=nC;i25;i+)ai=ai+1;a24=a25;for(i=0;i25;i+)printf(%c ,ai);printf(n);30、初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。#includemain()char a=abcdefghijklmn;int i;for(i=2;i7;i+)printf(%c,ai);printf(n);31、编程计算一个a34数组的最小值所在位置,输出该位置以及a34矩阵。要求初始化矩阵。#includemain()int a34=1,2,3,4,4,5,6,7,7,0,8,9;int i,j,min,i
20、min=0,jmin=0;min=a00;for(i=0;i3;i+)for(j=0;j4;j+)if(aijmin)min=aij;imin=i;jmin=j;printf(min=a%d%dn,imin,jmin);for(i=0;i3;i+)for(j=0;j4;j+)if(j=0)printf(n);printf(%d ,aij);32、初始化一矩阵a44,计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。#includemain()int a44=1,3,5,7,0,4,9,10,3,5,2,7,2,5,1,9;int i,j,max;for(i=0;i4;i+)for(j
21、=0;jmax)max=aij;printf(%dn,max);for(i=0;i4;i+)for(j=0;j4;j+)if(j=0)printf(n);printf(%d ,aij);33、编程实现:计算矩阵a34每行元素的和。要求输出原始矩阵以及每行元素的和值。要求初始化矩阵。#includemain()int a34=1,2,3,4,4,5,6,7,4,5,7,9;int i,j,sum=0,s=0;for(i=0;i3;i+)for(j=0;j4;j+)if(j=0)printf(n);printf(%d ,aij);printf(n);for(i=0;i3;i+)for(j=0;j4
22、;j+)sum+=aij;printf(sum=%dn,sum);sum=0;34、一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。输出原始数据和移动后的结果。要求初始化数组。例如:原始数据为:6 10 2 9 8 7 17 18 23 45,输出结果为: 6 10 2 9 9 8 7 17 18 23 45。#includemain()int a11=1,2,3,4,5,6,7,8,9,10;int i,b;b=a10;for(i=10;i3;i-)ai=ai-1;a11=b;for(i=0;i11;i+)printf(%d ,ai);35、编程实现:在
23、任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a和数组b。要求初始化数组a。#includemain()char a=absdfhefhg;char c=abcdefghij;int i,j,k=0,b10;printf(b=);for(i=0;ai!=0;i+)for(j=0;cj!=0;j+)if(ai=cj)bk=i;printf(%d ,bk);k+;printf(na=);for(i=0;ai!=0;i+)printf(%c ,ai);36、已知4X4矩阵,求行下标和列下标均为偶数的元素之和, 要求输出原始矩阵以及和值。提示:例如A00、A02的行下标和
24、列下标均为偶数。要求初始化矩阵。#includemain()int a44=1,2,3,4,2,3,4,5,3,4,5,6,4,5,6,7;int i,j,sum=0;for(i=0;i4;i+)for(j=0;j4;j+)if(j=0)printf(n);printf(%d ,aij);for(i=0;i4;i+)if(i%2=0)for(j=0;j4;j+)if(j%2=0)sum+=aij;printf(sum=%dn,sum);37、编写一个函数stringcat,其功能是完成两个字符串连接,要求:在主函数中初始化两个字符串,调用stringcat进行连接,并在主函数中输出连接后字符串
25、(注意不允许使用库函数)。#includevoid stringcat(char a,char b)int i,j,n=0;for(i=0;ai!=0;i+)n+=1;for(j=0;bj!=0;j+)an=bj;n+=1;an=0;main()char a=hello;char b=you;stringcat(a,b);printf(%sn,a);38、计算S=1-1/12+1/22-1/32+1/42+1/102的值,并输出 #includeint main() float s=1; int i=1; for(i=1;i=10;i+) if(i%2)=1) s=s-1.0/(i*10+2)
26、; else s=s+1.0/(i*10+2); printf(%f,s);39、计算1/1+1/(1+2)+1/(1+2+3)+1/(1+2+n)的,要求小数点后保留6位 #includeint main() double s=0,x=1,p; int i=2,k=1; for(;x=0.000001;i+) p=s; s=s+1.0/k; k=k+i; x=s-p; printf(%.6f,s);40、编写函数fun(char *p)判断一个字符串是否是回文字符串(提示:回文字符串是指正读和反读都一样的字符串),要求:从键盘上读入一个字符串,如果是回文字符串,输出该串,否则输出no。(本题
27、不允许使用字符串处理库函数)#includeint fun(char c,int i) int x=0; for(;x=i) return 1; else return 0;int main() char ch,c1000; int x=0,i=0; while(ch=getchar()!=n) cx=ch; x+; i+; i=i-1; if(fun(c,i)=1) for(i=0;i=x-1;i+) printf(%c,ci); else printf(no);41、编写函数mstrcpy(char *t,char *s,int m) 字符串s中的第m个字符开始的全部字符复制成另一个字符串
28、t。要求在主函数中初始化字符串s,从键盘读入m的值,输出字符串s和复制的字符串t。#includevoid mstrcpy(char t,char s,int m) int i=0,k; k=m-1; for(;sk!=0;i+,k+) ti=sk; ti=0;int main() char t1000,s1000; int m; scanf(%s,s); scanf(%d,&m); mstrcpy(t,s,m); printf(%sn%s,s,t); return 0;42、编写函数itoa(int n,char *p)实现将整数n转换为字符串存储到p中。要求在主函数中输入整数n,调用ito
29、a函数,并将结果输入到字符串。#include#includevoid itoa(int Number,char Str) int Num=Number,i=0,j=0; if(Num = 0) strcpy(Str,0); return; else if(Num 0) int i=0; int k=0; for(;Num 0;i+) if(Num10) Stri=0+Num; Str+i=0; break; else k=Num%10; Stri=0+k; Num/=10; for(i=0,j=strlen(Str)-1;i 0;i+) if(Num10) Stri=0+Num; Str+i
30、=/0; break; else k=Num%10; Stri=0+k; Num/=10; char Temp20; strcpy(Temp,-); strcat(Temp,Str); strcpy(Str,Temp); int main() int n; char s1000; scanf(%d,&n); itoa(n,s); printf(%s,s); return 0;C语言主观题1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。 #includemain() int a,b,c; printf(please input
31、a=); scanf(%d,&a); printf(please input b=); scanf(%d,&b); if(a*a+b*b100) c=(a*a+b*b)/100; printf(%d,c); else printf(%dn,a+b);2编程:根据以下函数关系:当x=0,y=0;当0x=10,y=x;当10x20,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)属于math.h) #include#includemain() int x; float y; printf(please input x=); scanf(%d,&x); if(x=0) y
32、=0; else if(0x)&(x=10) y=x; else if (10x)&(x=20) y=10; else y=sin(x); printf(%fn,y);3编程:根据以下函数关系:当0x=1,y=x;当1x2,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)、sqrt(x)属于math.h) #include #includemain()float x,y;printf (input x :);scanf (%f,&x);if(1.0x2.0)y=sin(x);if(0.0x=1.0)y=x;printf(y=%f,y);4编程:输入三个正整数x,y,
33、z,将这三个数由小到大输出。 #include#includemain() int a3,i,max,j; printf(please input the 3 numbers:); for(i=0;i3;i+) scanf(%d,&ai); for(i=0;i3;i+) for(j=0;jaj+1) max=aj; aj=aj+1; aj+1=max; printf(the result is); for(i=0;i3;i+) printf( %d,ai); printf(n); 5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整除;或能被100整除
34、且能被400整除的年号。 一解: #include main()int year ;printf (input the year :);scanf (%d,&year);if (year%4=0&year%100!=0;)printf (%d is a leap year n,year );else if (year%100=0&year%400=0)printf (%d is a leap yearn,year);else printf (%d is not a leap year n,year);二解:#include int main(void) int year; scanf(%d,&
35、year); if(year%4=0)&(year%100!=0)|(year%400=0) printf(这年是闰年n); else printf(这年不是闰年n);6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。 #includemain() long x,y; printf(please input telephone number ); scanf(%d,&x); y=x/1000; switch(y) case 1: case 3: case 5: case 7: case
36、 9:x=2*10000+x;break; case 2: case 4: case 6: case 8:x=3*10000+x;break; printf(the result is %ldn,x);7编程实现四位电话号码的升位。原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:输入1234,则输出:31234。 参考68编程:已知分段函数:当x10时,y=2*x+1;当1x=10时,y=5*(x+1)*(x-2);当x=1时,y=1-2*x;从键盘输入x的值,计算y的值。 参考29编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则
37、输出三角形的面积,否则输出错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h) #include#includemain() float x,y,z; float area,s; printf(please input:); scanf(%f%f%f,&x,&y,&z); if(x+y=z)|(z+y=x)|(x+z=y) printf(non); else s=(x+y+z)/2; area=sqrt(s*(s-x)*(s-y)*(s-z); printf(%fn,area); 10编程:已知分段函
38、数,当x=0时,y=3*x;当0x10时,y=2*x*x;从键盘输入x的值,计算y的值。 参考211编程:判定用户输入一个不大于999的正整数是否为一个回文数。回文数是指正读和反读都相同的数。 #includemain() int a,x,y,z; printf(please input a number ); scanf(%d,&a); if(0a&a=999) x=a/100; y=(a-100*x)/10; z=a%10; if(x=0) if(y=z) printf(Yesn); else printf(non); else if(x=z) printf(yesn); else pri
39、ntf(non); 12编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较大的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a49,则结果b=94。 #includemain() int a,b,x,y; printf(please input a number ); scanf(%d,&a); if(0a&a=y) b=a; else b=10*y+x; printf(the result is %d,b); else printf(a wrong number);13编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换
40、的方式是:将a中较小的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a54,则结果b=45。 参考1214初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。#includemain() int a10=2,3,4,1,5,6,7,8,9,10,i,x,j,k; printf(please input a number ); scanf(%d,&x); for(i=0;i10;i+) if(ai=x) for(j=i;j10;j+) aj=aj+1; for(k=0;k9;k+) printf(%3d,ak); break; else if(i=9) printf(no); 15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。#includemain() char a7=howare; char b1; int i,j,k; printf(please input the string :); gets(b); for(i=0;i7;i+) if(ai=b0) for(j=i;j5;j+) aj=aj+1; for(k=0;k5;k+) printf(%c,ak); printf(n); b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度山地土地流转承包经营合同4篇
- 二零二五年度CFG桩基工程施工安全防护用品供应合同3篇
- 2025年度办公楼租赁合同附公共区域维护责任书3篇
- 2025年度特殊材质窗帘定制安装服务合同4篇
- 2025版美容院线上线下营销推广服务合同4篇
- 2025版龙门吊租赁合同包含设备操作安全监督与指导服务4篇
- 二零二五年度灭蟑螂项目风险管理与应急处理合同4篇
- 2024版投资借款的协议书范本
- 二零二五年度煤矿深井打井安全协议样本3篇
- 2025至2030年中国工程机械专用空调数据监测研究报告
- 锐途管理人员测评试题目的
- 焊接材料-DIN-8555-标准
- 工程索赔真实案例范本
- 重症医学科运用PDCA循环降低ICU失禁性皮炎发生率品管圈QCC持续质量改进成果汇报
- 个人股权证明书
- 医院运送工作介绍
- 重症患者的容量管理
- 学习游戏对中小学生学业成绩的影响
- 小学四年级上册递等式计算100题及答案
- 新版个人简历Excel表格模板共2联
- (完整)中国象棋教案
评论
0/150
提交评论