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语言经典编程题

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门课程的成绩已在主函数中给出。

40个C语言的基础编程题

40个C语言的基础编程题

C语言基础编程题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/ }}========================================【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.程序源代码:#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);} ========================================【程序3】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

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语言简单编程题目及答案

c语言简单编程题目及答案

c语言简单编程题目及答案1、编写一个程序,验证输入是否为字母或数字代码:#include <stdio.h>int main(){char input;printf("请输入一个字符:");scanf("%c", &input);if ((input >= 'a' && input <= 'z') || (input >= 'A' && input <= 'Z') || (input >= '0' && input <= '9')){printf("输入的是字母或数字!\n");}else{printf("输入的不是字母或数字!\n");}return 0;}2、编写一个程序,计算输入数的阶乘代码:#include <stdio.h>int main(){int num, i, result = 1;printf("请输入一个正整数:");scanf("%d", &num);for (i = 1; i <= num; i++){result *= i;}printf("%d的阶乘为:%d\n", num, result); return 0;}3、编写一个程序,将输入的字符串反转代码:#include <stdio.h>#include <string.h>int main(){char str[100];int i, j;printf("请输入一个字符串:");gets(str);j = strlen(str) - 1;for (i = 0; i < j; i++, j--){char temp = str[i];str[i] = str[j];str[j] = temp;}printf("反转后的字符串为:%s\n", str);return 0;}4、编写一个程序,将输入的十六进制数转换为十进制数代码:#include <stdio.h>#include <string.h>#include <math.h>int main()char hex[100];int i, len, dec = 0;printf("请输入一个十六进制数:");gets(hex);len = strlen(hex);for (i = 0; i < len; i++){int digit;if (hex[i] >= '0' && hex[i] <= '9'){digit = hex[i] - '0';}else if (hex[i] >= 'A' && hex[i] <= 'F'){digit = hex[i] - 'A' + 10;}else if (hex[i] >= 'a' && hex[i] <= 'f'){digit = hex[i] - 'a' + 10;}dec += digit * pow(16, len - 1 - i);}printf("转换后的十进制数为:%d\n", dec); return 0;}5、编写一个程序,判断输入的数是否为回文数代码:#include <stdio.h>int main(){int num, temp, reversed = 0;printf("请输入一个正整数:");scanf("%d", &num);temp = num;while (temp != 0){reversed = reversed * 10 + temp % 10;temp /= 10;}if (num == reversed){printf("%d是回文数\n", num);}else{printf("%d不是回文数\n", num);}return 0; }。

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语言编程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)。

C语言编程题一.二维数组:1.请编一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一位数组中。

void fun(int tt[m[n],int pp[n]){int i,j,max;for(j=0;j<n;j++){max=tt[0][j]; 假设各列中的第一个元素最大for(i=0;i<m;i++)if(tt[i][j]>max)如果各列中的其他元素比最大值还大,则将更大的元素看成该列最大元素max=tt[i][j];pp[j]=max;}2.程序定义了n×n的二维数组,并在主函数中自动赋值。

请编写函数fun(int a[][n],int n),该函数的功能是使数组左下半三角元素中的值加上n。

fun(int a[][n],int n){int i,j;for(i=0;i<n;i++)for(j=0;j<=i;j++)a[i][j]=a[i][j]+n;}3.请编写函数,该函数的功能是:使数组右上半角元素中的值全部置成0.例如a数组中的值为a=4 5 61 7 93 2 6.则返回主程序后a数组中的值应为0 0 010 02 2 0int fun(int a[][n]){ int i,j;for(i=0;i<n;i++)for(j=i;j<n;j++)4.编写函数fun(),功能:求出数组周边元素的平方和并作为函数值返回给主函数中的s。

例如a=0 1 2 7 91 11 21 5 52 21 6 11 19 7 9 10 25 4 1 4 1则返回主程序后s的值应为310int fun(int w[ ][n]){ int i,j,k=0; int s=0;for(i=0;i<n;i++)for(j=0;j<n;j++)if(i==0||i==n-1||j==0||j==n-1){s=s+w[i][j]*w[i][j];} return s;}5.编写函数,功能是:使数组左下半三角元素中的值全部置成0.int fun(int a[ ][n]){ int i,j;for(i=0;i<n;i++)for(j=0;j<=i;j++)a[i][j]=0;}6. 编写函数,功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。

double fun(int w[ ][n]){ int i,j,k=0;double av=0.0;for(i=0;i<n;i++)for(j=0;j<n;j++)if(i==0||i=n-1||j==0||j==n-1){av=av+w[i][j];k++;}return av/k;}7. 编写函数,功能是:求出二维数组周边元素之和,作为函数值返回。

int fun(int a[m][n]){ int i,j,sum=0;for(i=0;i<m;i++)for(j=0;j<m;j++)if(i==0||i==m-1||j==0||j==n-1)sum=sum+a[i][j];return sum;}8.编写程序,实现矩阵(3行3列)的转置。

例如,若输入:100 200 300400 500 600700 800 900则输出:100 400 700200500 800300600 900int fun(int a[3][3]){ int i,j,t;for(i=0;i<3;i++)for(j=i+1;j<3;j++){t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}9. 编写函数,功能是:将m行n列的二维数组中的字符数据,按列顺序依次放到一个字符串中void fun(char (*s)[n],char *b){ int i,j,k=0;for(i=0;i<n;i++)for(j=0;j<m;j++)b[k++]=s[j][i]; b[k]=’\0’;}10.编写程序fun(int a[ ][n],int n),功能:使数字右上半三角元素中的值乘以m。

int fun(int a[ ][n],int m){ int I,j;for(i=0;i<n;i++)for(j=i;j<n;j++)a[i][j]=a[i][j]*m;}11.编写函数,功能是:实现B=A+’A’,即把矩阵A加上A的转置,存放在矩阵B中,计算结果在main()函数中输出。

void fun(int a[3][3],int b[3][3]){ int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=a[i][j]+a[j][i];}12. 编写函数,功能是:将m列n行的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中例如:33 33 33 334444 44 445555 55 55则一维数组中的内容应该是33 33 33 33 44 44 44 44 55 55 55 55void fun(int (*s)[10],int *b,int *n,int mm,int nn){ int i,j,k=0;for(i=0;i<mm;i++)for(j=0;j<nn;j++)b[k++]=s[i][j];*n=k;通过指针返回元素个数}二.排序问题:13.编写函数,功能:对长度为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII值升序排列。

例如:输入字符串Bdsihad,输出Badhisd。

int fun(char *s,int num-1){ char t;int i,j;for(i=1;i<num-2;i++) 下标值从1开始,用循环一次取得字符串中的字符for(j=i+1;j<num-1;j++) 将字符与后面的每个字符比较if(s[i]>s[j]) 如果后面字符的ASCII值小于该字符的ASCII值{t=s[i]; 则交换这两个字符s[i]=s[j];s[j]=t;}}编写函数void fun(int x,int pp[ ],int *n),功能:求出能整除x且不是奇数的各整数,并按14.从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

void fun(int x,int pp[ ],int *n){ int i,j=0;for(i=2;i<=x;i=i+2) i的初始值为2,步长为2,确保i为偶数if(x%i==0)pp[j++]=i; 将能整除x的数存入数组pp中,*n=j; } 传回满足条件的数的个数15. 编写函数,功能:求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。

例如:输入234 345 753 134 436 458 100 321 135 760则输出结果为6,100int fun(int *s,int t,int *k){ int i;*k=0;for(i=0;i<t;i++)if(s[*k]>s[i])*k=i; 找到数组的最小元素,把该元素的下标赋给k所指的数return s[*k];} 返回数组的最小元素16. 编写函数,功能:求出一个4×M整形二维数组中最小元素的值,将此值返回调用函数fun(int a[ ][M]){ int i,j,min=[0][0];for(i=0;i<4;i++)for(j=0;j<M;j++)if(min>a[i][j])return min;}17.编写函数void fun(int x,int pp[ ],int *n),功能:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15void fun(int x, int pp[ ]){ int i,j=0;for(i=0;i<x;i=i+2)if(x%i=0)pp[j++]=i;*n=j;}传回满足条件的数的个数18.编写函数int fun(int *s,int t,int *k),功能:求出数组的最大元素在数组中的下标并存放在k 所指的存储单元中int fun(int *s,int t,int *k){ int i;*k=0;for(i=0;i<t;i++)if(s[*k]<s[i])*k=i;return s[*k];}19. 编写函数,功能:找出一位数组元素中最大值和它所在的下标,最大值和它所在的下标通过形参传回void fun(int a[ ],int n,,int *max, int *d){int i;*max=a[0];*d=0;for(i=0;i<n;i++)if(*max<a[i]){*max=a[i];*d=i;}}20.编写函数,功能:求出一个2×M整形二维数组中最大元素的值,并将此值返回调用函数fun (int a[ ][M]){ int i,j,max=[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}三.整数问题:21.编写函数,功能:求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回double fun(int n){ double s=0.0;int i;for(i=0;i<n;i++)if(i%5==0&&i%11==0)s=s+i;s=sqrt(s);return s;}22. 编写函数,功能:求出1到1000之内能被5或13整除,但不能同时被5和13整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数void fun(int *a,int *n){ int i;j=0;for(i=1;i<1000;i++)if((i%5==0||i%13==0)&&i%65!=0)a[j++]=i;*n=j;}23. 编写函数,功能:求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数void fun(int *a,int *n)int i,j=0;for(i=1;i<1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}24. 编写函数,功能:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数void fun(int m,int *a,int *n){ int i,j=0;for(i=0;i<=m;i++)if(i%7==0||i%11==0)a[j++]=i;*n=j;}四.数据问题:25. 编写函数,功能:计算并输出给定整数n的所有因子(不包括1与自身)的平方和long fun(int n){ int i;long s=0;for(i=2;i<n-1;i++)if(n%i==0)s+=i*i;return s;}26. 编写函数,功能:将两个两位数的正整数a,b合并形成一个整数放在c中,合并方式:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数放在c数的百位和个位上void fun(int a,int b,long *c){ *c=a%10*1000+b/10*100+a/10*10+b%10;}五.分数数组:27.m个人的成绩存放在score数组中,编写函数fun(),功能:将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指数组中。

相关文档
最新文档