C语言编程题

合集下载

C语言编程题

C语言编程题

1.有一函数:当x<0 时,y=-l:当x=0 时,v=0;当x>0 时,y=l。

编一程序,输入x的值,输出y的值。

2.输入三个实数,将这三个数按由人到小的顺序排列,并输出这三个数。

3.有三个整数a, b, c,由键盘输入,输出其中最大者。

4.编程求圆面积、圆周长。

要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。

5.有分段函数:当x<-l0 时,y=|x|+5;当-lOWxWlO 时,y=4x-8;当x>10 时,y=sqrt(x)。

编一程序,输入x的值,输出y的值。

6.编写程序,判断某一年是否是闰年。

(闰年的条件是:能被4整除,但是不能被100整除, 或者可以被400整除。

)7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。

公式为c=5/9(f-32)8.有一函数:当x<l 时,v=|x|;当l<=x<10 时,y=2x-l;当x>=10 时,y=3x+ll。

编一程序,输入x的值,输出y的值。

9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。

10.输入一个字符,判断它是否是小写字母,如果是,将它转换成人写字母:如果不是,不转换。

然后输出最后得到的字符。

11•编程求圆柱体积,圆柱表面积。

要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。

12.有分段函数:当x<-5 时,y=x+10;当・5WxW5 时,y=x A2;当x>5 时,y=2x-10.编一程序,输入x的值,输出y的值。

13.有三个整数a, b, c,由键盘输入,输出其中最小者。

14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母:如果不是,不转换。

然后输出最后得到的字符。

15.输入三角形的三边长,求三角形面积。

求三角形面积的公式为area=sqn(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/216.编程求2!+4!+6!+8!+10!的值,并输出结果。

经典C语言编程(20题)

经典C语言编程(20题)

1.请编写一个函数fun,其功能是:删除字符串中的数字字符。

例如,输入字符串为:48CTYP9R6,则输出:CTYPR。

部分源程序已经给出,请勿改动主函数的内容。

main(){ char item[100];gtes(item);fun(item);printf(“The string:%s\n”,item);}解答:#include<stdio.h>#include<string.h>void fun(char s[]){int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]>='0' && s[i]<='9') i++;elses[j++]=s[i]; s[j]='\0';}main(){ char item[100];gets(item);fun(item);printf("The string:%s\n",item); }2. 从键盘上读入一字符串存入字符数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()将结果xx输出。

替代关系如下:f(p)=p*11%256其中,p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于32,则该字符不变,否则用f(p)所对应的字符进行替代。

设字符串的长度小于80个字符,部分源程序已给出。

除增加必要的数据定义、函数参数外,请勿改动主函数的内容。

#include <stdio.h>main(){ char xx[80];gets(xx);encryptChar();WriteDat();}解答:#include<stdio.h>#include<string.h>void encryptChar(char a[]) {int i,j;for(i=j=0;a[i]!='\0';i++) if(a[i]%2==0 ||(a[i]*11%256<32))a[j++]=a[i];elsea[j++]=a[i]*11%256; } WriteDat(char a[]) {puts(a);}main(){ char xx[80];gets(xx);encryptChar(xx); WriteDat(xx);} _3. 设有数组:int a[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345};请编制函数jssort(),其功能是:要求按每个数的后三位的大小进行升序排序,然后调用函数WriteDat()将结果输出。

c语言编程题库100题

c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。

2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。

3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。

4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。

5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。

6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。

7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。

8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。

9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。

10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。

11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。

......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。

你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。

每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。

如果遇到问题,可以参考相关的解法或向他人寻求帮助。

通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。

祝你编程愉快!。

c语言经典编程题

c语言经典编程题

c语言经典编程题
以下是一些经典的C 语言编程题:
1. 计算斐波那契数列:要求使用递归和循环两种方式实现。

2. 冒泡排序算法:实现对一组数字进行排序。

3. 二分查找算法:在有序数组中查找特定的元素。

4. 打印九九乘法表:使用循环打印出九九乘法表。

5. 字符串反转:将一个字符串反转。

6. 计算水仙花数:输出所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)。

7. 约瑟夫环问题:经典的数学问题,要求用循环和指针实现。

8. 猴子吃桃问题:经典的数学问题,要求用递归实现。

这些题目都是C 语言编程中的经典问题,可以帮助你巩固和提高C 语言的编程能力。

c语言编程题目大全

c语言编程题目大全

1、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。

例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。

{ char a[N];int i;for(i=0;i<m;i++) a[i]=w[i];while(w[i]) { w[i-m]=w[i]; i++;}i--;m--;for(;m>=0;m--,i--) w[i]=a[m];}2、编写函数fun,它的功能是:计算并输出下列级数和:1 1 1S = ── + ── + … + ───1×2 2×3 n(n+1)例如,当n = 10时,函数值为:0.909091。

{int i;double s;for(i=1;i<=n;i++){ s+=1.0/(i*(i+1));}return s;}3、假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。

形参p已指向字符串中最后的一个字母。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG*******。

{ char *q;while(a<p)if(*a=='*'){ for(q=a;*q;q++)*q=*(q+1);p--;}else a++;}4、函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。

合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。

例如,当a=45,b=12。

调用该函数后,c=1425。

{*c=a/10*100+a%10+b/10*1000+b%10*10;}5、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。

C语言经典编程实例100题+答案

C语言经典编程实例100题+答案

C语言程序实例100个(一)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

c语言习题及详解答案

c语言习题及详解答案

c语言习题及详解答案C语言是一种广泛使用的编程语言,以其结构化、可移植和高效性而著称。

以下是一些C语言的习题以及相应的详解答案。

# 习题1:求和问题编写一个C程序,输入两个整数,输出它们的和。

解答:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("这两个整数的和是:%d\n", sum);return 0;}```# 习题2:判断素数编写一个C程序,判断一个整数是否为素数。

解答:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num);}return 0;}```# 习题3:字符串反转编写一个C程序,输入一个字符串,然后输出它的反转。

解答:```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```# 习题4:数组排序编写一个C程序,输入一个整数数组,然后使用冒泡排序算法对其进行排序。

C语言编程习题及答案

C语言编程习题及答案

1-1. 编写求圆的面积、周长的程序。

圆的半径从键盘输入。

#include<stdio.h>void main(){float r,c,s;scanf("%f",&r);c=2*3.1415926*r;s=3.1415926*r*r;printf("周长为:%f,面积为:%f\n",c,s);}1-2.输入三个正数,计算并输出由此构成的立方体的体积。

#include<stdio.h>void main(){float a,b,c,v;scanf("%f,%f,%f",&a,&b,&c);v=a*b*c;printf("体积为:%f\n", v);}1-3.输入华氏温度h,计算并输出摄氏温度s. (转换公式:s=5 / 9(h - 30) )。

#include<stdio.h>void main(){float h,s;printf("请输入华氏温度:");scanf("%f",&h);s=5.0/9.0*(h-32);printf(" 摄氏温度为:%f\n", s);1-4.用*号输出字母C的图案。

#include<stdio.h>void main(){printf(" **\n");printf(" *\n");printf("*\n");printf("*\n");printf(" *\n");printf(" **\n");}2-1.输入三个正数a,b,c,如果能构成三角形,计算并输出该三角形的面积。

面积公式:(其中:p=(a+b+c)/2)#include<stdio.h>#include<math.h>#define p(a,b,c,x) sqrt(x*(x-b)*(x-c))void main(){double a,b,c,x;scanf("%lf,%lf,%lf",&a,&b,&c);if(a<0||b<0||c<0||a+b<=c||a+c<=b||b+c<=a)printf("不能构成三角形");else{x=(a+b+c)/2;printf("能构成三角形,面积=%lf\n",p(a,b,c,x));}}2-2.分段函数。

C语言编程经典100例

C语言编程经典100例

C语言编程经典100例(四)【程序76】题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n 为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)1.程序分析:2.程序源代码:main()#include “stdio.h“main(){float peven(),podd(),dcall();float sum;int n;while (1){scanf(“%d“,&n);if(n〉1)break;}if(n%2==0){printf(“Even=“);sum=dcall(peven,n);}else{printf(“Odd=“);sum=dcall(podd,n);}printf(“%f“,s um);}float peven(int n){float s;int i;s=1;for(i=2;i〈=n;i+=2)s+=1/(float)i;return(s);}float podd(n)int n;{float s;int i;s=0;for(i=1;i〈=n;i+=2)s+=1/(float)i;return(s);}float dcall(fp,n)float (*fp)();int n;{float s;s=(*fp)(n);return(s);}============================================================== 【程序77】题目:填空练习(指向指针的指针)1.程序分析:2.程序源代码:main(){ char *s[]={“man“,“woman“,“girl“,“boy“,“sister“}; char **q;int k;for(k=0;k〈5;k++){ ;/*这里填写什么语句*/printf(“%s\n“,*q);}}============================================================== 【程序78】题目:找到年龄最大的人,并输出。

C语言编程题_经典40题(附解答)

C语言编程题_经典40题(附解答)
/*对数组R[0..n-1]按递增序进行冒泡排序*/
{int i, j, temp, exchange ; for ( i=0; i<n-1; i++)
/*i表示趟数,最多n-1趟*/
{exchange=0; /*假设这一趟不会有数据交换*/
for ( j=n-1 ; j> i; j--)
if (R[j]<R[j-1]) /*若反序则交换,将较小的元素往上调*/ { temp =R[j]; R[j]=R[j-1]; R[j-1]= temp; exchange=1; } if(exchange= =0) return; } }
{ for( j=1; j<=i; j++)
printf(―%4d* %d= %2d‖, i, j, i*j); printf(―\n‖); } }
8、铁路托运行李规定:行李重不超过50公斤的,托运费 按每公斤0.15元计费;如超过50公斤,超过部分每公斤加收 0.10元。编一程序实现自动计费功能。 double money(double w ) { if (w<=50) return 0.15*w; else return 0.75+0.1*(w-50); } void main( ) { int w; double f; do { printf(―请输入行李重量:”); scanf(―%d‖,&w); if (w >0) { f =money(w); printf(―\nweight=%d,freight=%f‖,w,f); } }while (w= =0); }
{ temp=b[i]; b[i]=b[k]; b[k]=temp; }
} }
输出一维数组的函数如下:

C语言编程实例100题

C语言编程实例100题

C语言程序实例100个(一)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

?2.程序源代码:main(){int?i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/?for(j=1;j<5;j++)for?(k=1;k<5;k++){if?(i!=k&&i!=j&&j!=k)?/*确保i、j、k三位互不相同*/? printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long?int?i;int?bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else?if(i<=200000)bonus=bonus1+(i-100000)*0.075;else?if(i<=400000)bonus=bonus2+(i-200000)*0.05;else?if(i<=600000)bonus=bonus4+(i-400000)*0.03;else?if(i<=1000000)bonus=bonus6+(i-600000)*0.015;}?==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

c语言编程题及答案

c语言编程题及答案

c语言编程题及答案1. 输入输出题题目:编写一个程序,要求从键盘输入两个整数,然后输出它们的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和为:%d\n", sum);return 0;}```2. 条件语句题题目:编写一个程序,要求从键盘输入一个整数,判断它是否为正数、负数还是零,并输出相应的提示信息。

答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:\n"); scanf("%d", &num);if (num > 0) {printf("这是一个正数。

\n"); } else if (num < 0) {printf("这是一个负数。

\n"); } else {printf("这是零。

\n");}return 0;}```3. 循环语句题题目:编写一个程序,要求计算并输出1到100之间所有偶数的和。

答案:```c#include <stdio.h>int main() {int i, sum;sum = 0;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```4. 数组题题目:编写一个程序,要求定义一个包含10个整数的数组,并逐个从键盘输入数组元素的值,然后对数组进行逆序输出。

C语言编程实例100题

C语言编程实例100题

C语言程序实例100个(一)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/ for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

c语言必做100题

c语言必做100题

c语言必做100题1. 编写一个C程序,输出“Hello, World!”。

2. 编写一个C程序,计算并输出1到100的和。

3. 编写一个C程序,判断一个数是否为素数。

4. 编写一个C程序,将一个字符串反转。

5. 编写一个C程序,实现二分查找算法。

6. 编写一个C程序,实现插入排序算法。

7. 编写一个C程序,实现选择排序算法。

8. 编写一个C程序,实现冒泡排序算法。

9. 编写一个C程序,实现快速排序算法。

10. 编写一个C程序,实现希尔排序算法。

11. 编写一个C程序,将一个二维数组转置。

12. 编写一个C程序,计算一个数的阶乘。

13. 编写一个C程序,实现斐波那契数列。

14. 编写一个C程序,计算两个数的最大公约数。

15. 编写一个C程序,计算两个数的最小公倍数。

16. 编写一个C程序,计算一个数的平方根。

17. 编写一个C程序,计算一个数的立方根。

18. 编写一个C程序,实现矩阵乘法运算。

19. 编写一个C程序,实现字符串的查找和替换。

20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。

21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。

22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。

23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。

24. 编写一个C程序,实现图的深度优先搜索算法。

25. 编写一个C程序,实现图的广度优先搜索算法。

26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。

27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。

28. 编写一个C程序,实现拓扑排序算法。

29. 编写一个C程序,实现优先队列。

30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。

31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。

32. 编写一个C程序,实现最大堆排序算法。

C语言编程经典100例

C语言编程经典100例

【程序76】题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)1.程序分析:2.程序源代码:main()#include “stdio.h“main(){float peven(),podd(),dcall();float sum;int n;while (1){scanf(“%d“,&n);if(n〉1)break;}if(n%2==0){printf(“Even=“);sum=dcall(peven,n); }else{printf(“Odd=“);sum=dcall(podd,n); }printf(“%f“,sum);}float peven(int n){float s;int i;s=1;for(i=2;i〈=n;i+=2)s+=1/(float)i;return(s);}float podd(n)int n;{float s;int i;s=0;for(i=1;i〈=n;i+=2)s+=1/(float)i;return(s);}float dcall(fp,n)float (*fp)();int n;{float s;s=(*fp)(n);return(s);}================================================== ============【程序77】题目:填空练习(指向指针的指针)1.程序分析:2.程序源代码:main(){ char *s[]={“man“,“woman“,“girl“,“boy“,“sister“};char **q;int k;for(k=0;k〈5;k++){;/*这里填写什么语句*/printf(“%s\n“,*q);}}================================================== ============【程序78】题目:找到年龄最大的人,并输出。

计算机系C语言编程50题(含答案)

计算机系C语言编程50题(含答案)

1、输入1~10之间的一个数字,输出它对应的英文单词。

#include"stdio.h"main(){int x;printf("please input x(1-10):\n");scanf("%d",&x);switch(x){case 1:printf("one");break;case 2:printf("two");break;case 3:printf("three");break;case 4:printf("four");break;case 5:printf("five");break;case 6:printf("six");break;case 7:printf("server");break;case 8:printf("eight");break;case 9:printf("nine");break;case 10:printf("ten");break;}}2、用自然语言描述程序逻辑如下,试写程序。

①设置环境;②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;③i=1;④如果i≤100,则转⑤,否则转⑧;⑤令s=0,求前i个自然数之和,并放于变量s之中;⑥sum=sum+s;⑦i增加1,转④;⑧输出和sum,结束。

#include"stdio.h"main(){int i,j,s;long sum=0;for(i=1;i<=100;i++){s=0;for(j=1;j<=i;j++){s=s+j;}sum=sum+s;}printf("sum=%d",sum);}3、用自然语言描述的程序逻辑为:(假设正确口令为123456)①设置环境;②定义变量i、flag和password,并令flag=0,i=0;③用户回答口令,将其赋于password变量;④口令正确?如果是,则flag=1,转⑥。

常见的c语言编程题

常见的c语言编程题

常见的c语言编程题
1. 求两个数的和
2. 求两个数的差
3. 求两个数的积
4. 求两个数的商
5. 判断一个数是奇数还是偶数
6. 判断一个数是否为素数
7. 求一个数的阶乘
8. 求一个数的倒数
9. 求一个数的平方
10. 判断一个数是否为回文数
11. 求两个数的最大公约数
12. 求两个数的最小公倍数
13. 将一个字符串反转
14. 将一个字符串中的所有大写字母转换成小写字母
15. 将一个字符串中的所有小写字母转换成大写字母
16. 统计一个字符串中单词的个数
17. 在一个字符串中查找某个子串并返回其位置
18. 将一个字符串按照指定的分隔符分割为若干子串
19. 求一个数组的平均值
20. 求一个数组的最大值
21. 求一个数组的最小值
22. 对一个数组进行排序
23. 求两个矩阵的乘积
24. 判断一个矩阵是否为对称矩阵
25. 判断一个矩阵是否为上三角矩阵。

经典C语言编程100例

经典C语言编程100例

经典C语言编程100例(1-30)【程序1】题目:有1、2、3、4个数字,能组成多少个互不1.1、22.{printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k);}}万提万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.2.{bonus1=100000*0.1;bonus2=bonus1+100000*0 .75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15;if(i<=100000)elsebonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus);}==================================== ==========================1.100后2.#include"math.h"main(){longinti,x,y,z;for(i=1;i<100000;i++){x=sqrt(i+100);/*x为加上100后开方后的结果*/*/}}题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编程题1.请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。

例如,若有5门课程的成绩是90.5、72、80、61.5、55,则函数的值为:71.80。

注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>float fun(float *a,int n){}main(){float score[30]={90.5,72,80,61.5,55},aver;aver=fun(score,5);printf("Average score is:%5.2f\n",aver);}【答案与解析】(1)本题主要考查求累加和的运算。

仔细阅读题目和程序以及所给函数头floatfun(float *a,int n),得知是对a数组中的n个数求平均值,首先要计算其和值再除n,即可。

(2)按上述分析写出的函数是:float fun(float *a,int n){float s=0.0;int i;for(i=0; i<n; i++)s+=a[i];return s/n;}2.请编写函数fun,它的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

例如,二维数组中的数据为:W W W WS S S SH H H H则字符串中的内容应是:WSHWSHWSH。

注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>#define M 3#define N 4voidfun(char(*s)[N], char *b){}main(){char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};int i,j;printf("The matrix:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%3c",w[i][j]);printf("\n");}fun(w,a);printf("The A string:\n");puts(a);printf("\n\n");}【答案与解析】(1)本题主要考查数组和指针的概念。

仔细阅读题目和程序以及所给函数头void fun(char (*s)[N],char *b),得知是要求将M行N列二维数组s中的字符数据按列的顺序依次放到一维字符数组b中。

这里需要两重循环来控制,使用变量j、k,分别访问列、行,字符串b需要一个字符格式计数器n。

(2)按上述分析写出的函数是:void fun(char (*s)[N],char *b){int j,k,n=0;for(j=0; j<N; j++)for(k=0; k<M; k++)b[n++]=s[k][j];b[n]='\0';}3.编写函数fun,其功能是:根据以下公式计算s,将结果作为函数值返回;n通过形参传入:S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…n)例如:若n的值为11时,函数的值为:1.833333注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>float fun(int n){}main(){int n;float s;printf("\nPlease enter N:");scanf("%d", &n);s=fun(n);printf("the result is: %f\n", s);}【答案与解析】(1)本题主要考查利用for循环来实现累加运算以及递推的概念。

仔细阅读题目和程序以及所给函数头float fun(int n),得知是要求按给定数学公式编写函数,这里需要有累计和变量,循环变量。

设累加项s,初值为0;循环变量k,从1到n(包括n);另设一个累计量t,t=1+2+3+…+k。

(2)按上述分析写出的函数是:float fun(int n){float s=0.0;int t=0, k;for(k=1; k<=n; k++){ t+=k; s+=1.0/t; }return s;}4.请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。

例如,若输入15、5,则输出16、18、20、21、22。

注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <conio.h>#include <stdio.h>void fun(int m,int k,int xx[]){}main(){int m,n,zz[1000];system("cls");printf("\nplease enter two integers: ");scanf("%d%d",&m,&n);fun(m,n,zz);for(m=0;m<n;m++) printf("%d",zz[m]);printf("\n");}【答案与解析】本题主要考查素数的概念,即只能被自然数本身和1整除的奇数。

这里只要掌握了判断素数和非素数的算法就不难完成了。

void fun(int m,int k,int xx[]){int i,j,n;for(i=m+1,n=0; n<k; i++)for(j=2; j<i; j++)if(i%j==0){ xx[n++]=i; break;}}5.请编写函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

例如,若传送给m的值为50,则程序输出:7 11 14 21 22 28 33 35 42 44 49注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>#define M 100void fun(int m,int *a,int *n){}main(){int aa[M],n,k;fun(50,aa,&n);for(k=0;k<n;k++)if((k+1)%20==0) printf("\n");else printf("%4d",aa[k]);printf("\n");}【答案与解析】(1)本题主要考查整除的概念。

仔细阅读题目和程序以及所给函数头void fun(int m,int *a,int *n),得知是要求将1到m之间(含m)能被7或11整除的所有整数放在数组a 中,通过n返回这些数的个数。

这需要循环变量k从1到m循环,逐个判断k能否被7或11整除,也就是:(k%7==0 || k%11==0)成立,则将k放入a数组中,用*n做a的计数器,每次加1。

(2)按上述分析写出的函数是:void fun(int m,int *a,int *n){int k;*n=0;for(k=0; k<=m; k++)if(k%7==0||k%11==0)a[(*n)++]=k;}6.请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。

例如,若输入:17,则应输出:9和4 6 8 9 10 12 14 15 16。

注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>void fun(int m,int *k,int xx[]){}main(){int m,n,zz[100];printf("Please enter an integer numberbetween 10 and 100: ");scanf("%d",&n);fun(n,&m,zz);printf("There are %d non-prime numbersless than %d:",m,n);for(n=0;n<m;n++)printf("\n %4d",zz[n]);}【答案与解析】(1)本题主要考查素数的概念及其判断方法。

根据题意知是将所有大于1小于整数m 的非素数存入xx所指数组中,非素数的个数通过k传回。

这需要用循环变量n从2到m-1将所有数逐个验证,看是否为素数,是则存入xx数组中,计数器*k加1。

而验证数n是不是素数,需利用循环与从2到n-1的数逐个去相除(取余),都除不尽则是素数。

(2)按上述分析写出的函数是:void fun( int m, int *k, int xx[] ){int n, j;*k=0;for(n=2; n<m; n++){for(j=2; j<n; j++)if(n%j==0) break;if(j>=n) xx[(*k)++]=n;}}7.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。

若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。

注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>#include <string.h>#define N 16typedef struct{char num[10];int s;}STREC;STREC fun(STREC *a, char *b){}main(){STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},{"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}};STREC h;char m[10];int i;FILE *out;printf("The original data:\n");for(i=0;i<N;i++){if(i%4==0) printf("\n");printf("%s %3d ",s[i].num,s[i].s);}printf("\n\nEnter the number: ");gets(m);h=fun(s,m);printf("The data : ");printf("\n%s %4d\n",h.num,h.s);printf("\n");out=fopen("out10.dat","w") ;h=fun(s,"GA013");fprintf(out,"%s %4d\n",h.num,h.s);fclose(out);}【答案与解析】(1)本题主要考查结构体数组的有关概念以及字符串比较函数的使用。

相关文档
最新文档