class-notes/2207/C语言精通120题.md

19 KiB
Raw Permalink Blame History

1输入一小写字母分别以字符形式与数值形式输出与该小写字母相应的大写字母

#include <stdio.h>
#include <ctype.h>

/*
1输入一小写字母分别以字符形式与数值形式输出
与该小写字母相应的大写字母
*/
int main(void){
	char ch;//数据类型 变量名; 规定了变量的存储数据类型
	//scanf("%c", &ch);//scanf(输入的格式, 地址1, 地址2) 
	//将占位符的格式从控制台存储到指定的内存地址
	//%c 字符型 %d整型 %u 无符号整型 %f 单精度浮点型 %lf双精度浮点型 %s 字符串
	ch = getchar();//getchar()用于从控制台读取单个字符 并返回该字符
	//printf("%d %c\n", ch-32, ch-32);//A-65 a-97 差值32
	printf("%d %c\n", toupper(ch), toupper(ch));//toupper用于将字符转换成大写字符

	return 0;
}

2输入一个华氏温度要求输出摄氏温度。公式为c=5/9*(f-32)

#include <stdio.h>

int main(void){
	
	float f, c;
	scanf("%f", &f);
	//c = 5.0/9*(f-32);
	c = (double)5/9*(f-32);
	printf("%f\n", c);

	return 0;
}

3写一个程序输入实数X,输出Y,计算image-20250116004443767

#include <stdio.h>

int main(){
	float x, y;
	scanf("%f", &x);
	y = 3*x*x*x+0.4*x*x-2*x/3;
	printf("y=%.2f\n", y);

	return 0;
}

4编写程序读入三个整数a,b,c然后交换它们中的数使a存放b的值b存放c的值c存放a的值。

#include <stdio.h>
/*
4编写程序读入三个整数a,b,c然后交换它们中的数
使a存放b的值b存放c的值c存放a的值。
*/
int main(){
	int a, b, c, temp;
	scanf("%d %d %d", &a, &b, &c);
	temp = a;
	a = b;
	b = c;
	c = temp;
	printf("%d %d %d\n", a, b, c);

	return 0;
}

5编写程序输入9时23分并把它化为分钟后输出。从零点整开始计算

#include <stdio.h>

int main(){
	int h, m;
	scanf("%d时%d分", &h, &m);
	printf("%d分钟\n", h*60+m);

	return 0;
}

6要将“China”翻译成密码密码规律是用原来的字母后面第4个字母代替原来的字母。例如,字母“ A”后面的4个字母是“E”用“E”代替“A”。因此“Chian”应译成“Glmre”。用赋初值的方法 是c1,c2,c3,c4,c5五个变量的值分别为China经过运算使c1、c2、 c3、c4、c5分别为Glmre并输出

#include <stdio.h>

int main(){
	char c1, c2, c3, c4, c5;
	c1='C';
	c2='h';
	c3='i';
	c4='n';
	c5='a';
	printf("%c%c%c%c%c\n", c1, c2, c3, c4, c5);
	c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;
	printf("%c%c%c%c%c\n", c1, c2, c3, c4, c5);
	return 0;
}

7编写程序用getchar函数读入两个字符c1,c2然后分别用putchar函数和prinf函数输出这两个字符以 及它们的ASCII值。

#include <stdio.h>

int main(void){
	char c1, c2;
	c1=getchar();
	c2=getchar();
	putchar(c1);
	printf(" %d\n", c1);
	putchar(c2);
	printf(" %d\n", c2);

	return 0;
}

8设圆半径r=1.5圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积

9编写程序输入两个整数 ,计算并输出它们的和、差、积、除(精确除)、整除及模的结果。

10编一程序对于一个给定的一个百分制成绩输出相应的五分制成绩。设90分以上为ˊAˊ8089 分为ˊBˊ7079分为ˊCˊ6069分为ˊDˊ60分以下为ˊEˊ

11输入3个整数要求按由小到大的顺序输出

12输入4个数输出其中的最大数和最小数。

13有以函数y=x(x<1);2x-1(1<=x<10);3x-11(x>=10).写一程序输入x,输出y.

14给定一个不多于5的正整数要求1求它是几位数2分别打印出每一位数字3按逆序打 印出各位数字.

15编写程序要求输入整数a和b.若a2+b2大于100则输出a2+b2百位以上的数字否则输出两数之和。

16根据输入的三角形的三边判断是否能组成三角形若可以则输出它的面积和三角形的类型

17判断输入的正整数是否既是5又是7的整倍数。若是则输出yes,否则输出no

18输入4个整数求4个数中的偶数之和.

19输入4个整数求4个数中的奇数之和

20假设奖金税率如下a代表奖金r代表税率a<500 r=0%;500<=a<1000 r=5%;1000<=a<2000 r=8%;

2000<=a<3000 r=10%;3000<=a r=15%编写程序用if语句实现对输入的一个资金数求税率和应交 税款以及实际奖金数(扣除奖金税后)。

21输入一个字符如果是大写字母转换为小写如果不是不转换。最后输出。

22键盘上输入三角形三边a,b,c 的值,计算三角形面积,并输出三角形的三边a,b,c及面积area的值。三 角形面积的公式s=(a+b+c)/2 area=sqrt[s(s-a)(s-b)(s-c)].

23编写一个程序根据用户输入的一个字母判定它是星期几。要求用switch语句实现程序控制当第一个字母相同时T(t)uesday 和T(t)hursday故需要进一步输入U或u或H或h确认。

24编写一个程序输入某年某月判断这一月有多少天

25从键盘上输入字母或0~9的数字编写程序对其进行分类。字母可分为大写字母和小写字母数字可分 为奇数和偶数。

26编写程序加密数据方法对给定数值每一位数字均加2且在[09]范围内,若加密后某位数字 大于9则取其被10除的余数.

27编写程序计算从1995年1月1日至2000年12月10日共有多少天。闰年的2月有29天.闰年满足如下条件 能被400整除或能被4 整除但不能被100整除。

28编程求解一元二次方程 ax2+bx+c=0的根。

29有1、2、3、4个数字能组成多少个互不相同且无重复数字的三位数都是多少

31已知abc+cba=1333其中a、b、c均为一位数编写一个程序求出a、b、c分别代表什么数字。

32鸡兔共有30只脚共有90只编写一程序计算鸡兔各有多少只。

33输入两个正整数m和n求其最大公约数和最小公倍数.

34输入一行字符分别统计出其中英文字母、空格、数字和其它字符的个数。见87题

35一个数如果恰好等于它的因子之和这个数就称为“完数”。例如6=123.编程找出1000以内的所 有完数。

36猴子吃桃问题猴子第一天摘下若干个桃子当即吃了一半还不瘾又多吃了一个第二天早上又将剩 下的桃子吃掉一半又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再 吃时,见只剩下一个桃子了。求第一天共摘了多少.

37有一分数序列2/13/25/38/513/821/13...求出这个数列的前20项之和.

38编写一个程序显示ASCII码65~90十进制的字符对照表。并输出6个数换一行。

39已知xyz+yzz=532其中x、y、z都是数字编写一个程序求出x、y、z分别代表什么数字。

40已知四位数a2b3能被23整除编写一程序求此四位数。

41输入n计算s=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n

42从两个红球三个白球四个黑球中任意取出五个球且其中必有白球编写程序输出所有可能方案

43花数”是指一个三位数其各位数字立方和等于该数。

44编写一程序求135799101的值。

45编写一程序输入一个正偶数n将其分解成两个素数之和。

46编写程序从键盘输入6名学生的5门成绩分别统计出每个学生的平均成绩。

47编程在屏幕上输出具有7行的正三角形。

48若用0至9之间不同的三个数构成一个三位数编写一个程序统计出共有多少种方法。

49编程输出100—200之间第一个能被3整除的之前的所有整数。

50把100—200之间的不能被3整除的整数输出。

51求输入的10个整数中正数的个数以及其平均值。

52求出1000以内的所有素数要求一行输出30个。

53有1020个西瓜第一天卖一半多两个以后每天卖剩下的一半多两个问几天以后能卖完

544位反序数设N是一个四位数它的9倍恰好是其反序数求N.

55有限5位数个位数为6且能被3整除的五位数共有多少

56编写一程序计算1到正整数n之间的奇数之和以及偶数之和。

57编写一程序计算100到1000之间有多少个数其各位数字之和是5。

58学校有近千名学生在操场上排队5人一行余2人7人一行余3人3人一行余1人编写一程序求该 校的学生人数。

59编写一程序实现从键盘输入10个数找到第一个能被7整除的数。若找到打印此数后退出循环若 未找到打印“not exist”。

60编写一程序计算用一角、二角和五角凑成一元有多少种组合并打印输出每种组合。

61在数组a中按照顺序查找值为y的元素。若数组a中不存在该元素则输出不存在若存在这样的元素则显示元素的下标以及元素的总个数 见实验指导书P60必做题1。

62数组中存放N个元素编写程序删除掉下标为奇数的元素使得数组中只存放下标为偶数的元素。

63数组s中存放有N个同学的某一门功课的成绩。要求编写程序求出有多少个同学的成绩高于此门功课的平均分。

64输入一个3行3列矩阵的所有元素求该矩阵周边各元素的和。 见实验指导书P65必做题1。

65判定一个字符串是否是回文串。所谓回文串是指从开头读和从末尾读均为相同字符的字符串。例如abcdcba。 见实验指导书P71必做题1。

66读入一个字符串要求将该字符中所有字符按照递增的顺序进行排序采用冒泡排序算法后输出。

67编程将两个字符串连接起来不准使用strcat函数。

68有10个字符串找出每个字符串中最大字符并按顺序放入一维数组a[10]中即第i个字符串中最大字符放入a[i]中输出a[i]数组。

69编程将任意十进制数转化成N进制。

70设数组a中的元素均为正整数编程求a数组中偶数的个数和偶数的平均值。

71数组a包括10个整数把a中所有的后项除以前项之商取整后存入数组b并按每行3个元素的格式输出数组b.试编程。.

72编程从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b

73输入一个正整数按逆序输出各位的数字。

74将二维数组行列元素互换存到另一个数组中。

75有一个3*4矩阵求最大元素值及其行、列号。

76有10个字符串找出每个字符串中最大字符依次存入一维字符数组a中即第i个字符串中的最大字符放入a[i]中输出数组a 同题68

77设数组a中的元素均为正整数编程求a数组中偶数的个数和偶数的平均值 同题70

78编写一个程序将字符数组s2中的全部字符拷贝到字符数组s1中。不得使用strcpy函数。拷贝时\0也要拷贝过去。

79将一个字符串中下标值为偶数的元素由小到大排序其它元素不变。

80使用二维数组打印杨辉三角形

81从键盘输入一个二维整型数组如a[4][4]={ 1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4},试编程检查一个二维数组是否对称(即对所有i,j都有a[i][j]=a[j][i])。

82输入5个整数找出最大数和最小数所在的位置并把二者对调然后输出调整后的5个数.

83将字符串S中所有下标为奇数的位置上的字母大小写互换。

84求矩阵a和b的和结果存入矩阵c中并按矩阵形式输出。

85有5个同学每个同学有4门功课的考试成绩求每人的平均成绩和每门功课的平均成绩。要求只用一个2维数组完成

86 编写一程序完成字符串处理函数strcat字符串连接函数功能不允许使用strcat函数实现即连接两字符串a,b将字符串b中字符连接到字符串a后成为一个字符串。要求两字符串a,b 在主函数中输入,连接部分编写一函数完成,结果由主函数输出完成。)

87编写函数统计字符串中字母、数字、空格和其他字符的个数。要求在主函数中输入字符串以及输出上述结果子函数完成统计功能。

88采用函数的方法实现“冒泡法”排序对输入的10个字符按从小到大的顺序进行排列。要求在主函数中输入字符并输出排序结果。提示字符从键盘接收到后放入数组中存放数组名作为函数参数。

89编写一函数将一十进制数转换成2进制数并按顺序输出。要求在主函数中输入此十进制数由子函数进行转换并把结果传递给主函数。

90编写一程序实现输入年、月、日计算出该日是该年的第多少天。要求在主函数中输入数据计算过程由函数完成并将最后结果返回主函数输出。

91使用函数实现求n的阶乘。主函数输入数据n子函数求出阶乘的值并返回给主函数 见实验指导书P80必做题第2题。

92使用函数求两个整数的最大公约数和最小公倍数。主函数输入两个数子函数gongyue 用来求最大公约数子函数gongbei )用来求最小公倍数) 见实验指导书P81选做题第1题。

93使用函数求某长整型数据的各位数字之积。主函数输入长整型数据子函数func )分离出各位数字,并将乘积返回给主函数) 见实验指导书P83选做题第3题。

94使用函数求3名同学5门课的平均成绩。主函数输入3名同学5门课的成绩子函数计算出某名同学5门课的均分并返回给主函数

95使用函数实现字符串的颠倒存放操作。主函数中使用字符串处理函数实现字符串的输入子函数实现字符串的颠倒操作使用字符串名作为函数参数。注意应实现字符串的颠倒存放而不是逆序输出

96子串删除。函数deletesin实现从字符串s中删除下标为i的字符开始的n个字符。主函数实现全局字符数组s和全局变量i、n的输入并假设i 、n和i+n的值都小于字符串的

长度)

97输入一字符串如果该字符串中含有字符s则返回该字符串的最后一个字符否则输出“no”。(主函数输入一行字符子函数getline 的作用是判断是否含有s返回最后一个字母或输出“no”。)

98使用函数求解一元二次方程的根方程的系数由主函数输入得到并且设a、b均不等于0。

99编写一程序完成字符串处理函数strcpy字符串复制函数功能不允许使用strcpy函数实现即将字符串a的内容完整的复制到字符串b中连同字符串a中\0也要复制要求字符串a内容在主函数中输入复制部分编写一函数完成结果由主函数输出完成。

100编写一程序完成对于一个大于等于3的正整数判断它是不是一个素数要求数据由主函数输入判断部分编写一函数实现结果由主函数输出完成。

101编写一程序将一包含n个字符的字符串中从第m个字符开始的全部字符复制到另外一个字符串n>m要求数据由主函数输入复制部分编写一函数实现复制后结果由主函数输出完成。

102使用函数实现华氏温度向摄氏温度的转换转换公式如下C=5/9*F-32其中C为摄氏温度F为华氏温度。子函数实现温度转化并将结果返回给主函数见实验指导书P79必做题第1题。

103写一个函数求一个字符串的长度在main函数中输入字符串并输出其长度。

104用函数实现一些程序:计算10个学生的1门课程成绩的平均值.. 见实验指导书P85必做题第1题。

105有15个数按由大到小顺序存放在一个数组int a={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}中,输入一个数用顺序查找法找出该数是数组中的第几个元素的值(元素下标值),若该数不在数组中则打印“无此数”。 (要求数据由主函数输入,查找部分编写一函数实现,结果由主函数输出完成。)

106定义一个带参数的宏完成从四个数中找出最大数的操作。

107根据已知算法定义一个带参数的宏用来判别程序中输入的年份是否闰年。

108试定义一个带参数的宏swap(xy)以实现两个整数之间的交换并利用它将一维数组a和b的所有元素的值进行交换。

109输入两个整数,求它们相除的余数.用带参数的宏来实现,编程序.

110定义两个带参数的宏一个用来求S(s=1/2(a+b+c))另个用来求areaarea为三角形的面积。写程序在程序中用带实参的宏名来求面积area。

111已知字符串S中的内容为“Student请用指针的方法将S中的内容逆序输出且不能改变串中的内容。

112输入一行文字找出其中大写字母、小写字母、空格、数字以及其他字符个数。要求用指针实现

113通过指针操作将输入的3个字符串按由大到小的顺序输出。

114定义整型数组a,有10个元素,用指针实现数组中的全部元素的输出.

115编一程序将字符串computer赋给一个字符数组然后从第一个字母开始间隔地输出该串。请用指针完成。

116利用指针编写一程序将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果在被调函数中完成复制。

117用指针法实现输入10个数按由小到大的顺序输出。

118用指针法实现写一个函数求一个字符串的长度。在main函数中输入字符串并输出其长度值。

119从键盘输入10个学生的成绩显示其中的最高分、最低分和平均分。用指针实现。

120数组中存放N个元素编写程序删除掉下标为奇数的元素使得数组中只存放下标为偶数的元素。用指针实现。