高级程序_C语言经典50例---附答案手稿

合集下载

100个经典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语言经典编程100题(答案版)

C语言经典编程100题(答案版)

C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。

利润(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.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

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;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后再开方,如果开方后的结果满足如下条件,即是结果。

(完整word)C语言程序设计经典100例(全)

(完整word)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。

C语言程序设计100个经典例子(可编辑修改word版)

C语言程序设计100个经典例子(可编辑修改word版)

经典C 语言程序设计100 例1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C 的图案7.显示特殊图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大公约数和最小公倍数17.统计英文字母/空格/数字个数18.求s=a+aa+aaa+aa...a 的值19.求解"完数" 20.球体自由落下物理问题21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和25.求1+2!+3!+...+20!的和26.利用递归方法求5! 27.将输入字符以相反顺序打印28.岁数问题29.求解正整数位数30.判断回文数31.星期几猜测游戏32.改变文本颜色33.学习gotoxy()与clrscr()函数34.练习函数调用35.设置文本颜色36.求100 之内的素数37.对10 个数进行排序38.求3*3 矩阵对角线元素之和39.数字插入数组重新排序40.将一个数组逆序输出41.static 定义静态变量用法42.使用auto 定义变量用法43.使用static 的另一用法44.使用external 的用法45.使用register 定义变量方法46.宏#define 命令练习(1) 47.宏#define 命令练习(2) 48. 宏#define 命令练习(3)49.#if #ifdef 和#ifndef 的综合应用50.#include 的应用练习51.学习使用按位与& 52. 学习使用按位或|53.学习使用按位异或^ 54.取一个整数从右端开始的4~7 位。

55.学习使用按位取反~56.用circle 画圆形57.学用line 画直线58.用rectangle 画方形59.画图综合例子60.画图综合例子261.打印杨辉三角形62.学习putpixel 画点63.画椭圆ellipse 64.利用ellipse and rectangle 画图65.画个最优美的图案66.输入3 个数字按大小顺序输出67.输入数组交换元素重新输出68.多个整数后移位置问题69.圆圈报数问题70.计算一个字符串长度71.编写输入/输出函数72.创建链表73.反向输出链表74.连接两个链表75.算一道简单题目76.调用函数求1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7 所能组成的奇数个数84. 由两个素数之和表示的偶数85.判断一个素数能被几个9 整除86.两个字符串连接程序87.结构体变量传递88. 读取数字的整数值并打印出该值个数的*89.数据加密90.专升本一题91.时间函数举例1 92.时间函数举例293.时间函数举例3 94.一个猜数游戏95.家庭财务管理小程序96.计算字符串中子串出现的次数97.输入字符并保存到磁盘98.字符串转换成大写字母并输出保存99.文件操作应用1100.文件操作应用2c 语言经典100 题【实用】【程序1】题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

100个经典C语言编程例子(答案另附)

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语言经典90例(可直接打印)

C语言经典90例(可直接打印)
else [k]=b[j++];
k++; } c[k]='\0'; if(a[i]=='\0')
p=b+j; else
p=a+i; strcat(c,p);
2
C 语言经典 90 题
puts(c); } ============================================================== 【程序 7】 题目:回答结果(结构体变量传递) 1.程序分析: 2.程序源代码: #include "stdio.h" struct student { int x;
3
C 语言经典 90 题
for(i=0;i<=3/2;i++) { t=aa[i];
aa[i]=aa[3-i]; aa[3-i]=t; } for(i=3;i>=0;i--) printf("%d",aa[i]); } ============================================================== 【程序 10】 题目:专升本一题,读结果。 1.程序分析: 2.程序源代码: #include "stdio.h" #define M 5 main() { int a[M]={1,2,3,4,5}; int i,j,t; i=0;j=M-1; while(i ) { t=*(a+i); *(a+i)=*(a+j); *(a+j)=t; i++;j--; } for(i=0;i printf("%d",*(a+i)); }

100个经典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语言经典编程实例100题 答案

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

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

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

2.程序源代码:main(){int i,j,k;printf(&quot;\n&quot;);for(i=1;i&lt;5;i++) /*以下为三重循环*/ for(j=1;j&lt;5;j++)for (k=1;k&lt;5;k++){if (i!=k&amp;&amp;i!=j&amp;&amp;j!=k) /*确保i、j、k三位互不相同*/ printf(&quot;%d,%d,%d\n&quot;,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(&quot;%ld&quot;,&amp;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&lt;=100000)bonus=i*0.1;else if(i&lt;=200000)bonus=bonus1+(i-100000)*0.075;else if(i&lt;=400000)bonus=bonus2+(i-200000)*0.05;else if(i&lt;=600000)bonus=bonus4+(i-400000)*0.03;else if(i&lt;=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf(&quot;bonus=%d&quot;,bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以/*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&amp;&amp;y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf(&quot;\n%ld\n&quot;,i);}}==============================================================【程序4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

C#50题和部分答案(高级)

C#50题和部分答案(高级)

必须完成:计算数列1,1,2,3,5,8,13,21.... 第15位是多少程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:判断101-200之间有多少个质数,并输出所有质数。

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

【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

【程序4】题目:将一个正整数分解质因数。

例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n'.【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

C语言经典练习题50道(附答案)

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语言例题(带答案)

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语言编程实例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;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语言经典例题及答案

一、求一个任意边长的矩形面积。

#include <stdio.h>void main(){int w,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d\n",sum);}二、求一个任意半径的圆的面积及周长。

#define PI 3.14159#include <stdio.h>void main(){float r,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>void main(){ int w,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}一、从键盘上输入三个数,求出其中的最大值,并输出。

#include <stdio.h>void main(){int a,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之和。

(注意:30*3.14159/180)#include <stdio.h>#define PI 3.14159#include <math.h>void main(){float a,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f\n",sum);}三、比较两个数的大小。

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

“高级语言程序设计”编程题1. 从键盘输入3个整数,求其中的最大数和最小数,并输出结果。

2. 从键盘上输入一个3*3的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。

3. 输出x 2的值,x 取值从0到10。

4. 从键盘上输入一个3*4的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。

5.编写一个程序从键盘输入10个数,要求输出其中最小的。

6.编写一个函数根据以下公式计算s ,计算结果作为函数值返回;n 通过形参传入。

121917151311-++++++=n s 7.输出1000年(包括1000年)到1999年之间的所有闰年,要求每三个一行,分行输出。

闰年:能被4整除不能被100整除的年份,或是能被400整除的年份8. 编写程序打印所有的“水仙花数”。

“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为 153=1×1×1+3×3×3+5×5×5。

9.编写一个程序,输入一个3位数的正整数,然后反向输出对应的数。

如:123,则输出321。

10. 从键盘输入10名学生的C 语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数。

11. 编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a12. 从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号。

13.打印所有的“水仙花数”,所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。

14.利用函数将给定的3×3二维数组转置。

15.编程输入a 、b 、c 的值后,输出一元二次方程ax 2+bx+c=0的解。

16.从键盘上输入任意两个数和一个运算符(+、-、*、/),根据输入的运算符对两个数计算,并输出结果。

17.编写输入一个字符串,计算其中空格的个数。

18. 采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的平均成绩。

19.编写程序,逆转字符串。

20. 编写程序,统计一个英语文本中的英语单词个数。

21. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

22.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

23.找出101~200中所有的素数。

24.使用循环结构编写程序,打印出如下图案*********25.用冒泡排序法将10个整数由大到小排序。

26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如12321)。

27. 求出10至1000之内能同时被2、3、7整除的数,并输出。

28. 输入一字符串,检查是否回文(回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。

29.设计一个函数,用来判断一个整数是否为素数。

30.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

31.设计一个函数,用来判断一个整数是否为素数。

32.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

33. 输入三个整型数,找出其中数值最大者并输出。

34.编写程序在屏幕上显示如下图形:1 2 3 4 55 1 2 3 44 5 1 2 33 4 5 1 22 3 4 5 135.编写猜数游戏,程序给定某个整数,从键盘上反复输入数据进行猜测。

如果未猜中,程序提示输入过大或者过小;如果猜中,则输出猜的次数,最多允许猜10次36.将一个数组中的值按逆序重新存放。

例如,原来顺序为 a,b,c,d,e,f,g,现在顺序为g,f,e,d,c,b,a.(数组长度不限)37.有一篇文章,共有3行文字,每行有80个字符。

要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。

38.求∑∑∑===++101501210011k k k k k k39.将十个整数输入数组,求出其平均值并输出。

40.将十个实型数输入数组(float n[10];)逆序存放后再输出。

41.编写程序:输出x 2的值,x 取值从1到10。

42.设计程序:定义可以存储1000个整数的数组;在该数组中依次存入1到1000;在屏幕上打印出数组中所有17的倍数。

43.设计一个函数,用来判断一个整数是否为素数;并在main()函数中调用该函数,在屏幕上打印出100以内的所有素数。

44.写出一个函数,求n! .(n! = 1*2*3*………*n)45.使用一维数组计算学生的平均成绩。

用输入负数结束输入。

46.从键盘上输入一个3*3的矩阵,并求其主对角线元素的和。

47. 写一个函数is_prime ,判断整数n 是否素数。

如果n 是素数,则返回1;如果n 不是素数,则返回0。

48.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。

如输入“a123BxC ”,则输出“A123bXc ”49.任意输入10个整数,打印出10个数中的最大值50.输入三个整数a, b, c ,请按从小到大的顺序输出这三个数51、输入一个整数n ,请判断n 是否是质数,如果是,打印 n 是质数,否则打印 n 不是质数52编程,先输入n ,再输入n 个实数并分别统计正数的和、负数的和,然后输出统计结果。

53.编程,输入a 1、a 2、...、a 15后,计算下列表达式的值并输出。

1111111231415++++⋅⋅⋅++a a a a a54.编程,设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。

55.编程,从键盘上输入一个字符串,将其中的小写字母转换成大写字母,大写字母转换成小写字母,输入字符串以“!”结束,将转换后的字符串输出到电脑屏幕。

1.解答/*从键盘输入3个整数,求其中的最大数和最小数,并输出结果*/#include "stdio.h"void main(){printf("从键盘输入3个整数,求其中的最大数和最小数,并输出结果\n\n");int a,b,c,max; /*定义三个整数和形参变量*/printf("请输入三个整数,用空格隔开\n");scanf("%d %d %d",&a,&b,&c);if(a>=b){max=a;/*将两者中的大的值赋予参数*/if(max>=c && b>=c)/*同时找出最大的数和最小的数,下面类似*/printf("三者中最大的数是 a = %d\n三者中最小的数是 c = %d\n",a,c);else if(max>=c && b<c)printf("三者中最大的数是 a = %d\n三者中最小的数是 b = %d\n",a,b);else if(max<c)printf("三者中最大的数是 c = %d\n三者中最小的数是 b = %d\n",c,b);}else{max=b;/*将两者中的大的值赋予参数*/if(max>=c && a>=c)printf("三者中最大的数是 b = %d\n三者中最小的数是 c = %d\n",b,c);else if(max>=c && a<c)printf("三者中最大的数是 b = %d\n三者中最小的数是 a = %d\n",b,a);else if(max<c)printf("三者中最大的数是 c = %d\n三者中最小的数是 a = %d\n\n",c,a);}}2.解答:#include "stdio.h"void main(){int i,j,a[3][3]; /*定义i,j为计数器*/float ave1,ave2,ave3;/*平均值要保留小数,故用实型*/printf("请按提示从键盘输入整数\n");for(i=0;i<=2;i++)for(j=0;j<=2;j++)/*用双循环来从键盘接收a[3][3]的3*3矩阵。

ij都不能大于2,与数组定义有关*/{printf("请输入(按回车确认) \n a[%d][%d] = ",i,j);scanf("%d",&a[i][j]);/*接收键盘输入*/}printf("\n您输入的矩阵为:\n");for(i=0;i<=2;i++)/*这个嵌套循环用来打印出所输入的矩阵*/{for(j=0;j<=2;j++)printf("%d ",a[i][j]);printf("\n");}ave1=(a[0][0]+a[0][1]+a[0][2])*1/3.0;/*求平均值。

注意这里的1/3.0,这是为了使整型转为实型,以保留小数*/ave2=(a[1][0]+a[1][1]+a[1][2])*1/3.0;ave3=(a[2][0]+a[2][1]+a[2][2])*1/3.0;printf("第一行的平均值为ave1 = %.2f\n",ave1);printf("第二行的平均值为ave2 = %.2f\n",ave2);printf("第三行的平均值为ave3 = %.2f\n",ave3);}3.解答:#include "stdio.h"void main(){int x;for(x=0;x<=10;x++)printf("%d*%d = %d\n",x,x,x*x);}4.解答:#include "stdio.h"void main(){int a[3][4],i,j,max;/*定义矩阵和计数器*/int m,n;/*用来记录行号和列号*/printf("请按提示输入\n");for(i=0;i<3;i++)for(j=0;j<4;j++)/*双嵌套接收3*4矩阵*/{printf("请输入(按回车确认) \n a[%d][%d] = ",i,j);scanf("%d",&a[i][j]);/*接收键盘输入*/}max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){if(a[i][j]>max)/*用双嵌套寻遍数组的元素,用if来实现符合条件的命令*/max=a[i][j],/*这个式子来获得所用循环中的最大值*/m=i,n=j;/*记录最大值的行号和列号*/}printf("\n矩阵中的最大值是max= %d\n\n",max);printf("行号为:%d 列号为:%d\n ",m,n);}5.解答:#include "stdio.h"void main(){int a[10],max,i;printf("请按提示输入\n");for(i=0;i<10;i++){printf("请输入第%d 个数: ",i+1);scanf("%d",&a[i]);printf("\n");}max=a[0];for(i=0;i<10;i++){if(max<a[i])max=a[i];/*同前几道题类似,用max取出数组里最大值*/ }printf("这十个数中最大的是:%d\n",max);}6.解答:#include "stdio.h"void sum(int n)/*编写函数*/{int j;float s=0;for(j=1;j<=n;j++)s=s+1.0 /(2*j-1);printf(" s = %.2f\n",s);}void main(){int n;scanf("%d",&n);sum(n);/*调用函数*/}7.解答:#include "stdio.h"void main(){int i;for(i=1000;i<=1999;i++)/*定义循环变量*/{if(i%4==0 && i%100!=0)/*筛选符合条件的年份*/printf("this %d year is a leap year\n",i);else if(i%400==0)/*筛选符合条件的年份*/printf("this %d year is a leap year\n",i);}}8.解答:#include "stdio.h"void main(){int a,b,c,x,i;printf("以下程序打印出所有的水仙花数\n\n");//下面三层嵌套循环可寻遍所有的三位数for(a=1;a<=9;a++)/*a作为百位,不能为0,从1开始取*/for(b=0;b<=9;b++)for(c=0;c<=9;c++)if(a*100 + b*10 + c == a*a*a + b*b*b + c*c*c)/*满足水仙花条件*/x=a*100+b*10+c,/*赋值,可以省略*/printf("三位数%d 是水仙花数\n",x);}9.解答:#include "stdio.h"void main(){int i,j,k,x,y;printf("请输入一个三位数: ");scanf("%d",&x);//下面是提取出这个三位数的百位、十位和各位//用三层循环寻遍所有三位数if(x>100 && x<999){for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)/*个位倒序后成百位,个也不能为零*/{if(i*100 + j*10 + k == x)/*找到和x相等的数,记录i,j,k*/if(k == 0)/*排除个位为0的数*/printf("这个三位数个位为0,不能倒序\n");elsey=k*100 + j*10 + i,/*依据i,j,k来逆向形成*/printf("这个倒序的三位数是:%d\n",y);}}elseprintf("你的输入有误!\n");}10.解答:#include "stdio.h"void main(){int a[10],max=0,m,i,k,j=0;float ave;printf("请按提示输入十个同学的成绩\n\n");for(i=0;i<10;i++)/*接收成绩*/{printf("请输入第%d 位同学的成绩:",i+1);scanf("%d",&a[i]);printf("\n");}for(i=0;i<10;i++){if(a[i]>=max)max=a[i],m=i+1;/*找出最高成绩,并记录是第几位同学*/if(a[i]>=60)j++;/*计算及格同学的个数*/}ave=(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])/10.0;/*平均成绩*/printf("成绩中最高的是第%d 位同学的:%d 分\n",m,max);printf("及格的个数为:%d\n",j);printf("平均成绩为:%.2f\n",ave);}11.解答:#include "stdio.h"void main(){char ch;ch=getchar();/*只接收第一个字符*/if(ch>='0' && ch<='9')/*带单引号表示ASCLL码值的比较*/printf("a numerical character\n");elseprintf("other character\n");}12.解答:参考第四题答案。

相关文档
最新文档