C语言编程实例精选(附答案50题)
C语言程序设计50例(经典收藏)
C语言程序设计50例(经典收藏)各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢C语言程序设计50例(经典收藏)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:复制代码代码如下:#include ““#include ““main(){int i,j,k;printf(“\n”);for(i=1;i2) /*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf(“It is the %dth day.”,sum);getch();}============================== ============================== ==【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z 则将x与z的值进行交换,这样能使x 最小。
2.程序源代码:复制代码代码如下:#include ““#include ““main(){int x,y,z,t;scanf(“%d%d%d”,&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;} /*交换x,z的值*/if(y>z){t=y;y=z;z=t;} /*交换z,y的值*/printf(“small to big: %d %d %d\n”,x,y,z);getch();}============================================================ ==【程序6】题目:用*号输出字母C的图案。
100个经典c语言例题(带答案)
100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典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.程序分析:请利用数轴来分界,定位。
c语言习题及答案
c语言习题及答案一、基础习题1. 编写程序,提示用户输入两个整数,然后计算并输出它们的和。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}```2. 编写程序,将摄氏温度转换为华氏温度,并输出结果。
转换公式为:华氏温度 = 摄氏温度 × 9/5 + 32。
```c#include <stdio.h>int main() {float celsius, fahrenheit;printf("请输入摄氏温度:");scanf("%f", &celsius);fahrenheit = celsius * 9 / 5 + 32;printf("华氏温度为:%.2f\n", fahrenheit);return 0;}```3. 编写程序,判断一个数是否为素数。
素数是只能被1和自身整除的数。
```c#include <stdio.h>int main() {int num, i, isPrime = 1; // 假设输入的数是素数printf("请输入一个正整数:");scanf("%d", &num);for (i = 2; i <= num / 2; ++i) {if (num % i == 0) {isPrime = 0; // 修改标志变量表示不是素数break;}}if (isPrime == 1)printf("%d 是素数。
C语言程序设计50例(经典收藏)
水仙花#include <stdio.h>void main(){int a,b,c,i;for( i=100;i<1000;i++){a=i/100;b=i%100/10;c=i%10;if(a*a*a+b*b*b+c*c*c==i){printf("\n");}}}【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:#include "stdio.h"#include "conio.h"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);}getch();}【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按1 0%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:#include "stdio.h"#include "conio.h"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);getch();}【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
C语言编程例题
C语言编程例题1编程:由键盘输入两个整型变量a和b的值。
编程计算并输出a 与b的和、差、积、商、a除以b的余数、a b的值。
输入输出参考示例如下:提示:用到C语言的运算符(参见P52)+、-、*、/、%、函数pow()(参见附录C P385)请输入a,b的值:a=3,b=2a+b=5a-b=1a*b=6a/b=1a%b=1a^b=92、编程:求一元二次方程ax2+bx+c=0的实根x1,x2,。
a,b,c的值由键盘输入,设b2-4ac>0。
输入输出示例如下:请输入三个系数a,b,c的值:a=1,b=3,c=2x1=-1.00x2=-2.003、由键盘输入一个圆柱体的底面半径r和高度h的值,编程计算并输出该圆柱体的体积。
(注意:体积=底面积*高,要求将圆周率定义为符号常量PI)4、编写程序,从键盘输入两个数字字符并分别存放在字符型变量a和b中,要求通过程序将与这两个字符对应的数字相加后输出,例如,输入字符型数字7和5,输出的则是整型数12。
5、判断用户从键盘输入的任意一个字符是数字字符、字母字符还是其他字符,要求有必要的输入提示和输出信息;如果输入的是英文字母,再利用switch语句判断该字母是否是元音字母,并以“yes”或“no”字样输出判断结果。
6、编程实现:任意输入一个百分制成绩,输出成绩等级A、B、C、D。
当输入的分数小于0分或大于100分时,显示出错信息;在85~100分时为A,70~84分为B,55~69分为C,55分以下为D。
7、编写程序:从键盘输入x,利用幂级数展开计算sinx的近似值,要求误差小于10-6。
C语言编程题带答案
C语言编程题带答案C 语言作为一门广泛应用的编程语言,在学习过程中,通过编程题的练习可以更好地掌握其语法和逻辑。
下面为您带来几道 C 语言编程题以及详细的答案解析。
题目一:求两个整数的和要求编写一个 C 语言程序,输入两个整数,计算并输出它们的和。
```cinclude <stdioh>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d",&num1);printf("请输入第二个整数:");scanf("%d",&num2);sum = num1 + num2;printf("这两个整数的和是:%d\n", sum);return 0;```解析:在这个程序中,首先使用`printf`函数提示用户输入两个整数,然后通过`scanf`函数获取用户输入的值并存储在变量`num1`和`num2`中。
接下来,将这两个数相加并将结果存储在变量`sum`中,最后使用`printf`函数输出结果。
题目二:判断一个数是否为奇数编写一个 C 语言程序,输入一个整数,判断它是否为奇数,如果是奇数输出“是奇数”,否则输出“不是奇数”。
```cinclude <stdioh>int main(){int num;printf("请输入一个整数:");scanf("%d",&num);if (num % 2!= 0) {printf("是奇数\n");} else {printf("不是奇数\n");return 0;}```解析:在这个程序中,使用取余运算符`%`来判断一个数是否能被2 整除。
如果取余结果不为 0,说明该数不能被 2 整除,即为奇数;否则,不是奇数。
题目三:计算 1 到 100 的累加和编写一个 C 语言程序,计算 1 到 100 的累加和。
```cinclude <stdioh>int main(){int sum = 0, i;for (i = 1; i <= 100; i++){sum += i;}printf("1 到 100 的累加和是:%d\n", sum);return 0;```解析:这里使用了`for`循环从 1 迭代到 100,每次迭代都将当前的数字加到变量`sum`中,最终得到 1 到 100 的累加和。
C语言经典例题以及答案
作业一一、求一个任意边长的矩形面积。
#include<stdio.h>voidmain(){intw,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d\n",sum);}二、求一个任意半径的圆的面积及周长。
#definePI#include<stdio.h>voidmain(){floatr,area,c;scanf("%f",&r);area=PI*r*r;c=2*PI*r;printf("area=%f\ncircle=%f\n",area,c);}三、已知:w=5,y=4,z=2, 求表达式:w*y/z的值,并输出。
##include<stdio.h>voidmain(){intw,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}作业二一、从键盘上输入三个数,求出其中的最大值,并输出。
#include<stdio.h>voidmain(){inta,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("max=%d\n",max);}二、求sin300。
+sin600+cos300+cos600之和。
(注意:)#include<stdio.h>#definePI#include<math.h>voidmain(){floata,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f\n",sum);}三、比较两个数的大小。
C语言编程题及答案(精心整理)
)(*)(*)(*c s b s a s s ---C 语言编程题1.(*)求分数序列:1/2,2/3,3/5,5/8,8/13,13/21...... 前20项的和。
main(){float i=1,j=2,t=0,s,n,m;for(n=1;n<=20;n++)s=i/j,m=i,i=j,j=m+j,t=t+s;printf("t=%f",t);}2.(*)从键盘输入一个字符串,再将其逆序输出。
(如:输入abcde ,输出edcba ) main(){int i;char c[10];scanf("%s",c);for(i=9;i>=0;i--)printf("%c",c[i]);}3.(*)已知abc+cba=1333,其中a 、b 、c 均为一位数,例如:617+716=1333, 518+815=1333, 试编程求出符合这一规律的a 、b 、c ,并输出结果。
main(){int a,b,c,x,y;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=1;c<=9;c++){ x=100*a+10*b+c;y=100*c+10*b+a;if(x+y==1333)printf("x=%d,y=%d",x,y);}}4.(*)利用海伦公式求三角形面积,三边长a,b,c 由键盘输入。
若输入的三边长不能构成 三角形,输出相应提示信息。
海伦公式如下:其中s=(a+b+c)/2三角形面积= #include"math.h"main(){ float a,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));if(a+b>c&&a+c>b&&b+c>a)printf("area=%f",area);else.1 .printf("no");}5.(*)编程求出1!+2!+3!+…+8!+9!+10!的值并输出。
100个经典C语言编程例子(答案另附)
100个经典C语言编程例子(答案另附)1:计算 A+B 的问题时间限制:1000MS 内存限制:10000K总提交数:1347 正确数:655问题描述输入两个整数 a 和 b ,计算 a+b 的结果并输出。
输入两个整数输出一个整数输入样例1 2输出样例32:Hello World!时间限制:1000MS 内存限制:65536K总提交数:848 正确数:693问题描述编写第一个C语言程序。
在屏幕上输出:Hello World!输入程序没有输入输出Hello World!输入样例输出样例Hello World!提示1、输出的内容要与题目的要求完全一样,不能多字符也不能少字符。
3:两个整数的值互换时间限制:1000MS 内存限制:65536K总提交数:1235 正确数:530问题描述输入两个整数a,b ,将 a 和 b 的值互换,并输出。
例如:输入: 2 5输出: 5 2输入两个整数输出两个整数输入样例2 5输出样例5 2提示注意输入和输出的格式,两个数据之间用一个空格隔开。
问题来源4:计算三门课程总分和平均分时间限制:1000MS 内存限制:65536K总提交数:1190 正确数:482问题描述输入三门课程的成绩,输出总分和平均分。
要求:(1)输入三个数,用空格隔开。
输入的数可以是小数。
(2)输出两个数,用空格隔开。
输出的数保留两位小数。
例如:输入: 75 80 90输出: 245.00 81.67 输入输入三个数,用空格隔开。
输入的数可以是小数。
输出输出两个数,用空格隔开。
输出的数保留两位小数。
输入样例75 80 90输出样例245.00 81.67问题来源5:鸡兔同笼问题时间限制:1000MS 内存限制:65536K总提交数:872 正确数:443问题描述这个问题,是我国古代著名趣题之一。
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。
书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。
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语言编程题_经典40题(附解答)
{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个(一)【程序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语言经典编程实例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万以/*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf("\n%ld\n",i);}}==============================================================【程序4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
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个整数的数组,并逐个从键盘输入数组元素的值,然后对数组进行逆序输出。
100个经典c语言例题(带答案)
100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典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.程序分析:请利用数轴来分界,定位。
C语言经典练习题50道(附答案)
1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。
#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。
#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。
#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。
#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。
100个经典c语言例题(带答案)
100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典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.程序分析:请利用数轴来分界,定位。
C语言编程题精选及答案.
C语言编程题精选C语言学习2010-11-30 15:48:25 阅读47 评论0 字号:大中小订阅1. 有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。
2. 任意输入三个字符,要求首先按逆序输出,然后同行原序输出。
3. 在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):************************4. 在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):***************5. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************6. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):**********7. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************8. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************9. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************10. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************11. 编写打印如下图形的程序(考虑将输出的行数由输入的值来控制):* * * * ** * * * ** * * * ** * * * *12. 编制程序打印如下图形(考虑将输出的行数由输入的值来控制):ABBBCCCCCDDDDDDDEEEEEEEEEFFFFFFFFFFFGGGGGGGGGGGGG13. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 114. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 115. 编程打印图形(考虑将输出的行数由输入的值来控制):1 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 1116. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 117. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 118. 输入一个大写字母打印菱形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、请编写函数fun,函数的功能是:在字符串中所有数字字符前加一个$字符。
例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。
注意:部分源程序给出如下。
#include <stdio.h>/*注:该题用while()循环来控制原字符串从头走到尾,在走动过程中判断是当前字符是否是数字,若是则在新串中先连一个'$'然后再连原字符,否则直接连原字符。
一定要注意指针和下标的变化。
最后要把新串拷贝到s所指的地址中,注意不能用s=a;若用了,则实参数组还是原字符串。
*/void fun( char *s){char a[100];int i=0;while(*s)if(*s>='0'&&*s<='9'){a[i++]='$';a[i++]=*s++;}else a[i++]=*s++;a='\0';strcpy(s,a);}main(){ char s[80];printf("enter a string:");scanf("%s", s);fun(s);printf("the result: %s\n", s);}2、写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,输入一面的矩阵:程序输出:试题程序:#include <stdio.h>#include <conio.h>/*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我们不难看出在进行行列互换时a[j]在好是与a[j][i]互换,因而只要我位让程序走完矩阵的左上角即可(用for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完成左上角的走动。
*/int fun(int array[3][3]){ int i,j,t;for(i=0;i<2;i++)for(j=i+1;j<3;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]= t;}}main(){ int i,j;intarray[3][3]={{100,200,300},{400,500,600},{ 700,800,900}};clrscr();for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("Converted array:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}3、请编一个函数fun(int *a,int n,int *odd,int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。
形参n给了数组中数据的个数:利用指针odd返回奇数之和,利用指针even返回偶娄这和。
例如:数组中的值依次为:1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。
试题程序。
#include <stdio.h>#include <conio.h>#define N 20/*注:该题的算法是:用for()循环一步一步地找元素,用if(!a[i]%2)来判断是否是奇数,%运算是求余运算,当对2求余为1时表示原数为奇数,否则为偶数。
*/fun(int *a,int n,int *odd,int *even){ int i; *even=0;*odd=0;for(i=0;i<n;i++)if(!(a[i]%2))*even+=a[i];else*odd+=a[i];}main(){ int a[N]={1,9,2,3,11,6},i,n=6,odd,even; clrscr();printf("The original data is:\n");for(i=0;i<n;i++) printf("%5d",*(a+i));printf("\n\n");fun(a,n,&odd,&even);printf("The sum of odd numbers:%d\n",odd); printf("The sum of even number:%d\n",even); } 4、要求程序的功能是:把20个随机数存入一个数组,然后输出该数组中的最小值。
其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
试题程序。
#include <stdio.h>#include <conio.h>#define VSIZE 20int vector[VSIZE];/*注:该题的算法是用一个变量(j)来存储最小值元素的下标,在循环过程中让每个元素都与原最小值元素进行大小比较(if(list[i]<list[j]),如发现更小的则让j重新拥有最小值元素的下标(j=i)。
*/int fun(int list[],int size){ int i,j=0;for(i=1;i<size;i++)if(list[i]<list[j])j=i;return j;}main(){int i;clrscr();for(i=0;i<VSIZE;i++){vector[i]=rand();printf("Vector[%d]=%6d\n",i,vector[i]);}i=fun(vector,VSIZE);printf("\nMininum:vector[%d]=%6d\n",i,vecto r[i]);}5、请编一个函数float fun(double h),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如:h值为8.32433,则函数返回8.32;h值为8.32533,则函数返回8.33。
试题程序。
#include <stdio.h>#include <conio.h>/*注:h乘以1000后正好是原小数点后第三位做了新数的个位数,然后再进行加5运算时。
如原小数点后第三位为4及以下则加5后还是不能进一位(即四舍),如是5及以上则加5后该位就要向前进一位数(即五入)。
进行加5运算后除10再赋给一个整型变量此时就只有原小数点第二位及以前各位保留在整型变量中,最后再对整型变量除100,这样又出现了两位小数。
该题中,进行四舍五入后一定要赋给一个整型变量才能将不用部分彻底变成0 。
*/float fun(float h){ long t;h=h*1000;t=(h+5)/10;return (float)t/100;}main(){float a;clrscr();printf("Enter a:"); scanf("%f",&a);printf("The original data is:");printf("%f\n\n",a);printf("The result :%6.2f\n",fun(a));}6、编写函数fun,函数的功能是:从字符串中删除指定的字符。
同一字母的大、小写按不同字符处理。
若程序执行时,输入字符串为:turbo c and Borland c++从键盘上输入字符:n,则输出后变为:turbo c ad borlad c++ 如果输入的字符串不存在,则字符串照原样输出。
试题程序。
#include <stdio.h>#include <conio.h>/*注:该题的算法是让i控制一个一个字符往后走,在移动过程中如果s[i]不是要删的字符,则将其按顺序放到新串中(新串亦是用s来做,只是用k来控制新串的下标,由于要删除一些元素,因此新串的下标总是比原下标i要慢。
因而可用此法即同一字符串变量的方法。
*/int fun(char s[],int c){int i,k=0;for(i=0;s[i];i++)if(s[i]!=c) s[k++]=s[i];s[k]='\0';}main(){ static char str[]="turbo c and borland c++"; char ch;clrscr();printf(" :%s\n",str);printf(" :");scanf("%c",&ch);fun(str,ch);printf("str[]=%s\n",str);}7、请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n (n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。
例如:w值为5923,则函数返回923;w值为923则函数返回23。
试题程序。
#include <conio.h>#include <stdio.h>/* 注:由于unsigned型整数在0-65535这间,只要它大于10000则对10000求余即得出后面4位,否则如果大于1000则对1000求余得出后3位数,这样一层一层往小的判断。
由于return的作用除了返回值以外,还有当执行到return时就跳出该程序,所以可以连续的用if()语句。
*/unsigned fun( unsigned w ){ if(w>=10000) return w%10000;if(w>=1000) return w%1000;if(w>=100) return w%100;return w%10;}main(){ unsigned x;printf( "enter a unsigned integer number :" ); scanf( "%u",&x);if(x<10) printf("data error!");else printf ("the result :%u\n", fun(x));} 8、编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。