C语言例题经典

合集下载

(新)C语言100个经典例题解析汇总

(新)C语言100个经典例题解析汇总
【程序 1】1~4 组成无重复数字的三位数。...........................ቤተ መጻሕፍቲ ባይዱ................................................................................3 【程序 2】企业利润计算(switch).........................................................................................................................3 【程序 3】加 100 是完全平方数............................................................................................................................... 4 【程序 4】年月日判断是年份的第几天。............................................................................................................... 4 【程序 5】三个数,从小到大输出。....................................................................................................................... 5 【程序 6】用*号输出字母 C 的图案。....................................................................................

信息学奥赛经典算法C语言经典例题100例

信息学奥赛经典算法C语言经典例题100例

信息学奥赛经典算法C语言经典例题100例经典C源程序100例1.【程序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.【程序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.【程序3】完全平方数题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

c语言经典题目100题

c语言经典题目100题

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.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。

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

c语言编程题经典100例

c语言编程题经典100例在计算机编程中,C语言是一种非常流行和常用的编程语言。

掌握C语言的编程技巧对于计算机科学和软件开发的学习者来说至关重要。

本文将介绍C语言编程中的100个经典例题,帮助读者提高他们的编程技巧和解决问题的能力。

1. 计算并输出1到100之间所有偶数的和。

```c#include<stdio.h>int main() {int sum = 0;for(int i = 0; i <= 100; i+=2) {sum += i;}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```2. 输入一个整数,判断是否是质数。

```c#include<stdio.h>#include<stdbool.h>bool is_prime(int num) {if(num <= 1) {return false;}for(int i = 2; i <= num / 2; ++i) { if(num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if(is_prime(num)) {printf("%d是质数\n", num);printf("%d不是质数\n", num);}return 0;}```3. 编写一个函数,接受3个整数参数,返回其中最大的一个数。

```c#include<stdio.h>int max_of_three(int a, int b, int c) {int max = a;if(b > max) {max = b;}if(c > max) {max = c;}return max;}int a, b, c;printf("请输入三个整数: ");scanf("%d%d%d", &a, &b, &c);int max = max_of_three(a, b, c);printf("最大的数是: %d\n", max); return 0;}```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语言经典编程实例100题答案

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

C语言经典编程实例100题答案1. 打印Hello World!#include <stdio.h>int main() {printf("Hello World!");return 0;}2. 计算两个数的和#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个数的和为:%d", sum);return 0;}3. 输入一个数,判断是否为正数、负数或零#include <stdio.h>int main() {int num;printf("请输入一个数:"); scanf("%d", &num);if (num > 0) {printf("正数");}else if (num < 0) {printf("负数");}else {printf("零");}return 0;}4. 判断一个数是否为素数#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个数:");scanf("%d", &num);for (i = 2; i <= num / 2; ++i) { if (num % i == 0) {flag = 1;break;}}if (flag == 0)printf("%d是素数", num); elseprintf("%d不是素数", num); return 0;}5. 求斐波那契数列的第n项#include <stdio.h>int fibonacci(int n) {if (n <= 1)return n;return fibonacci(n - 1) + fibonacci(n - 2);}int main() {int n;printf("请输入要求第几项:");scanf("%d", &n);printf("第%d项的值为:%d", n, fibonacci(n));return 0;}6. 判断一个数是否为回文数#include <stdio.h>int main() {int num, reversedNum = 0, remainder, originalNum; printf("请输入一个数:");scanf("%d", &num);originalNum = num;while (num != 0) {remainder = num % 10;reversedNum = reversedNum * 10 + remainder; num /= 10;}if (originalNum == reversedNum)printf("%d是回文数", originalNum);elseprintf("%d不是回文数", originalNum);return 0;}7. 打印九九乘法表#include <stdio.h>int main() {int i, j;for (i = 1; i <= 9; ++i) {for (j = 1; j <= i; ++j) {printf("%d * %d = %d\t", j, i, j * i);}printf("\n");}return 0;}8. 输入一个数,判断是否为偶数#include <stdio.h>int main() {int num;printf("请输入一个数:");scanf("%d", &num);if (num % 2 == 0)printf("偶数");elseprintf("奇数");return 0;}9. 冒泡排序#include <stdio.h>void bubbleSort(int array[], int size) { int i, j, temp;for (i = 0; i < size - 1; ++i) {for (j = 0; j < size - i - 1; ++j) {if (array[j] > array[j + 1]) {temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}}int main() {int array[] = {5, 2, 8, 12, 1};int size = sizeof(array) / sizeof(array[0]); bubbleSort(array, size);printf("排序后的数组:");for (int i = 0; i < size; ++i) {printf("%d ", array[i]);}return 0;}10. 判断一个数是否为完数#include <stdio.h>int main() {int num, i, sum = 0;printf("请输入一个数:");scanf("%d", &num);for (i = 1; i < num; ++i) {if (num % i == 0) {sum += i;}}if (sum == num)printf("%d是完数", num); elseprintf("%d不是完数", num); return 0;}......(一共100题答案)这些是C语言经典编程实例的部分答案,希望对您有所帮助。

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道
情况,闰年且输入月份大于 3 时需考虑多加一天。 2.程序源代码: #include "stdio.h" #include "conio.h" main() {
int day,month,year,sum,leapቤተ መጻሕፍቲ ባይዱ printf("\nplease input year,month,day\n"); scanf("%d,%d,%d",&year,&month,&day); switch(month) /*先计算某月以前月份的总天数*/ {
printf("bonus=%d",bonus); getch(); } ====================================================== ======== 【程序 3】 题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请 问该数是多少? 1.程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方, 如果开方后
的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: #include "math.h" #include "stdio.h" #include "conio.h" main() {
long int i,x,y,z; for (i=1;i<100000;i++) {
x=sqrt(i+100); /*x 为加上 100 后开方后的结果*/ y=sqrt(i+268); /*y 为再加上 168 后开方后的结果*/ if(x*x==i+100&&y*y==i+268) /*如果一个数的平方根的平方等于该数,这说明此数是 完全平方数*/

C语言程序金典例题20题

C语言程序金典例题20题
14. 将 100 至 200 之间的不能被 5 整除的数输出。
# include <stdio.h> int main() {
int i; for(i=100;i<200;i++) {
if(i%5 != 0) printf("i=%d\n",i);}
}
16.试编程判断输入的正整数是否既是 5 又是 7 的整倍数.若是则输出 YES;否则 输出 NO.
while(day>0) { x1=(x2+1)*2; /* x2 为剩下的 */
x2=x1; day- -; } printf(“Total=%d\n”,x1); }
22. 给一个不多于 5 位的正整数,要求: ① 求它是几位数;② 分别打印 出每一位数字;③按逆序打印出各位数字。如:321,输出:123。
scanf("%d",&score);
x=score/10;
switch (x)
{
case 10: case 9: printf("成绩为 A");break;
case 8: printf("成绩为 B");break; case 7: printf("成绩为 C");break; case 6: printf("成绩为 D");break; default:printf("成绩为 E"); } }
21. 猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前
一天剩下的一半零一个。到第 10 天早上想再吃时,就只剩下一个桃子了。求 第一天共摘多少桃子?

C语言经典例题100例

C语言经典例题100例
}
==============================================================
【程序3】
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
==============================================================
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu",j);
}
}}
==============================================================
【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;

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.**检查素数**练习:编写一个程序,判断一个整数是否为素数。

C语言经典例题100例

C语言经典例题100例

Tubro C programming for HNCRE 20051题:100个学生一起买小吃,共花钱100元,其中每个大学生花5元,每个中学生花3元,每3个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)?程序:main( ){ int a,b,c;for(a=1;a<=20;a++)for(b=1;b<=33;b++){ c=100—a—b;if((20*a+33*b+c/3)= =100)printf(“%d,%d,%d\n”,a,b,c);}getch( );}答案:6种:3,20,77;4,18,78;8,11,81;11,6,83;12,4,84.2题:50个小学生按1至50序号顺时针围成一圈,做出局游戏,老师站在圈外逆时针从最后一个人数起,每数到5时,这人从圈里出来,继续数1,2,3,4,5,数到第5个学生时,他就出局,已出局的位置不再参加记数,直至所有的学生出局为止,问最后一个出局的学生序号是多少号?程序:main(){int i,k,sum,l,t=0;int a[50];clrscr();for(i=1;i<=50;i++)a[i]=1;for(k=1,sum=0,l=0;k<=50;k++){for(i=50;i>0;i--){sum+=a[i];if(sum==5) {sum=0;l++;a[i]=0;}if(l==49) {t=1;break;}}if(t==1)break;}for(i=1;i<=50;i++){if(a[i]==1) printf("%d",i);}getch();}答案:32号3题:50元兑换成5元,2元和1元的计算方法有多少种?程序:main( ){ int x,f,t,n;x=0;f=0;while(f<=10){t=0;while (t<=25){n=50—f*5—T*2;if(n>=o) x++;t++:}f++;}printf(“%d”,x);}答案:1464.A、B、C三个正整数,当满足1/A*A+1/B*B=1/C*C关系时,称为倒勾股数。

C语言编程经典例题

C语言编程经典例题
}
【程序92】
题目:时间函数举例2
1.程序分析:
2.程序源代码:
/*calculate time*/
#include “time.h“
#include “stdio.h“
main()
{ time_t start,end;
int i;
start=time(NULL);
break;}
}
}
【程序81】
题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
1.程序分析:
2.程序源代码:
output(long b,long i)
{ printf(“\n%ld/%ld=809*%ld+%ld“,b,i,i,b%i);
main()
{struct man *q,*p;
int i,m=0;
p=person;
for (i=0;i〈N;i++)
{if(m〈p-〉age)
q=p++;
m=q-〉age;}
printf(“%s,%d“,(*q).name,(*q).age);
}
【程序79】
题目:字符串排序。
printf(ctime(〈)); /*english format output*/
printf(asctime(localtime(〈)));/*tranfer to tm*/
printf(asctime(gmtime(〈))); /*tranfer to Greenwich time*/

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题C语言经典题目一直是程序员们提高编程技能和理解语言细节的重要手段之一。

在这篇文档中,我将为你准备100道C语言经典题目,帮助你更好地掌握和应用C语言的基础知识。

这些题目将涵盖C语言的各个方面,包括基本数据类型、运算符、流程控制、函数等。

请注意,本文所提供的代码示例可以供你借鉴参考,但请务必自行思考和尝试解决这些问题。

题目1:编写一个C程序,交换两个变量的值。

```c#include<stdio.h>int main(){int a = 5, b = 10;int temp;printf("交换前:a = %d, b = %d\n", a, b);temp = a;a = b;b = temp;printf("交换后:a = %d, b = %d\n", a, b);return 0;```题目2:编写一个C程序,判断一个数是奇数还是偶数。

```c#include<stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0)printf("%d 是偶数\n", num);elseprintf("%d 是奇数\n", num);return 0;}```题目3:编写一个C程序,求两个数的最大公约数。

```c#include<stdio.h>int main()int num1, num2;int gcd;printf("请输入两个正整数:");scanf("%d %d", &num1, &num2);for(int i = 1; i <= num1 && i <= num2; i++){if(num1 % i == 0 && num2 % i == 0)gcd = i;}printf("%d 和 %d 的最大公约数是 %d\n", num1, num2, gcd);return 0;}```题目4:编写一个C程序,判断一个数是否为素数。

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

51.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母;其它字符不变,请编程。

#include <stdio.h>void main(){char ch;ch=getchar();if ((ch>=65)&&(ch<=90)) ch=ch+32;else if ((ch>=97)&&(ch<=122)) ch=ch-32;printf("%c\n",ch);}52.已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。

y=x*(x+2),2<x<=10; y=2x, -1<x<=2; y=x-1, x<=-1.#include <stdio.h>void main(){float x,y;printf("输入X值:");scanf("%f",&x);if (x<=-1){y=x-1;printf ("Y=%6.2f\n",y);}else if (x<=2){y=2*x;printf ("Y=%6.2f\n",y);}else if (x<=10){y=x*(x+2);printf ("Y=%6.2f\n",y);}else printf("取值范围出错\n");}53.已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。

y=0,x=a||x=-a; y=sqrt(a*a-x*x), -a<x<a; y=x,x<-a||x>a.#include <stdio.h>#include <math.h>void main(){float x,y,a;printf("输入A值[A>0]:");scanf("%f",&a);printf("输入X值:");scanf("%f",&x);if ((x==a)||(x==-a)) y=0;else if ((x<a)&&(x>-a)) y=sqrt(a*a-x*x);else if ((x<-a)||(x>a)) y=x;printf ("Y=%6.2f\n",y);}54.编程判断对输入的任何一个年份是否是闰年,将结果输出。

#include <stdio.h>void main(){int n;printf("输入年份:");scanf("%d",&n);if (n%4==0&&n%100!=0||n%400==0) printf("闰年\n");else printf ("不是闰年\n");}55.请编制程序要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和。

#include <stdio.h>void main (){int a,b,c,d;printf("请输入两个整数:\n");scanf("%d,%d",&a,&b);printf("你输入的两个数为:%d,%d\n",a,b);c=a*a+b*b;if(c>=100){d=c/100;printf("a*a+b*b的百位以上的数为:%d\n",d);}elseprintf("a*a+b*b=%d/n",c);}56.请编制程序判断输入的正整数是否既是5又是7的整倍数。

若是,则输出yes;否则输出no.#include <stdio.h>void main(){int a;printf("请输入要验证的数:\n");scanf("%d",&a);if(a%5==0&&a%7==0)printf("Yes\n");elseprintf("No\n");}57.编程实现:计算1到100之间的奇数之和及偶数之和。

#include <stdio.h>void main (){int n,even=0,odd=0;for(n=1;n<=50;n++){even+=2*n;odd+=2*n-1;}printf("1到100间的偶数的和为%d:\n",even);printf("1到100间的奇数的和为%d:\n",odd);}58.请编程实现:求100个任意整数的累加和。

59.请编程实现:求1到100之间所有能被3整除,但不能被5整除的数的和。

60.请编程实现:输入任意正整数n,计算n!并将结果输出,输出结果中没有小数部分。

61.请编程实现:计算1至50中是7的倍数的数值之和。

62.请编程实现:对任意100个整数,统计0的个数及正数的累加和。

#include <stdio.h>#define N 100void main (){int a,sum=0,i,frequency=0;int s[N];printf("请输入数据:\n");for(i=0;i<N;i++)scanf("%d",&s[i]);printf("\n原始数据为:\n");for(i=0;i<N;i++)printf("%d\n",s[i]);for(i=0;i<N;i++){if(s[i]==0)frequency+=1;if(s[i]>0){a=s[i];sum+=a;}}printf("这些数中0的个数为%d\n",frequency);printf("这些数中所有正数的和为%d\n",sum);}63.请编程实现:输入两个整数,判断它们之间的关系(=,<,>等),并清楚地将比较结果输出。

64.请编程实现:输入几个整数,判断其中偶数的个数,并输出结果(要求:数据的个数及原始数据由键盘输入)。

#include <stdio.h>#define N 20void enter (int a[], int n){int i;printf("请输入数据:\n");for (i=0;i<n;i++)scanf("%d",&a[i]);printf("\n原始数据为:\n");for (i=0;i<n;i++)printf("%d",a[i]);printf("\n");}void main(){void enter (int [], int );int i;int a[N],n;printf("\n输入你所要的数组元素个数:\n");scanf("%d",&n);enter (a,n);for(i=0;i<n;i++){if (a[i]%2==0)printf ("其中的偶数是%d\n",a[i]);}}65.请编程实现:输入几个整数,判断其中奇数的个数,并输出奇数的累加和。

(要求:数据的个数及原始数据由键盘输入)#include <stdio.h>#define N 20void enter (int a[], int n){int i;printf("请输入数据:\n");for (i=0;i<n;i++)scanf("%d",&a[i]);printf("\n原始数据为:\n");for (i=0;i<n;i++)printf("%2d",a[i]);printf("\n");}void main(){void enter (int [], int );int i;int a[N],n,sum=0;printf("\n输入你所要的数组元素个数:\n");scanf("%d",&n);enter (a,n);for(i=0;i<n;i++){if (a[i]%2==1){printf ("其中的奇数是%d\n",a[i]);sum=sum+a[i];}}printf ("奇数和是%d\n",sum);}66.有一个两位数XY,X是十位,Y是个位;给出X+Y的值和X*Y的值;编程实现让用户猜测这个两位数十多少?根据猜测给出不同的提示。

#include <stdio.h>void main(){printf ("x+y=2\n");printf("x*y=1\n");printf("请输入你所猜得数字\n");int a;scanf("%d", &a);for (;a!=11;){printf("you are not right\n");scanf("%d", &a);}printf ("you are right\n");}67.键盘输入的一个两位数XY,X是十位,Y是个位;请编程计算X+Y的值和X*Y的值。

#include <stdio.h>void main (){printf ("请输入一个两位数\n");int a,x,y;scanf ("%d",&a);x=a/10;y=a%10;printf ("x+y=%d\n",x+y);printf("x*y=%d\n"x*y);}68.用for循环语句计算1到20的和,并将结果输出。

相关文档
最新文档