![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
无聊C练习
一堆废料
这个作者很懒,什么都没留下…
展开
-
题目 1074: 数字整除
题目描述定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数输入输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=10^100),表示待判断的正整数。n=0表示输入结束,你的程序不应当处理这一行。输出对于每组测试数原创 2021-11-07 16:33:32 · 537 阅读 · 0 评论 -
题目 1072: 汽水瓶
题目描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=10.原创 2021-10-17 11:15:23 · 173 阅读 · 0 评论 -
题目 1071: 阶乘公式求值
题目描述编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。1+1/2+ .... +1/n!输出保留5位小数。输入无输出无样例输入5样例输出sum=1.71667#include <stdio.h>double fact(int n);int main(){ int n; double sum=0; scanf("%d",&.原创 2021-10-10 11:31:59 · 821 阅读 · 1 评论 -
题目 1070: 成绩归类
题目描述编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。运行示例:输入无输出无样例输入88 71 68 70 59 81 91 42 66 77 83 0样例输出>=85:260-84:7<60:2#include <stdio.h>int main(){ int score,a=0,b=0,c=0; .原创 2021-10-09 16:24:56 · 291 阅读 · 0 评论 -
题目 1069: 寻找矩阵最值
题目描述输入一个正整数n (1≤ n ≤6),再输入一个n行n列的矩阵,找出该矩阵中绝对值最大的元素以及它的行下标和列下标。输入nnxn输出数 行 列样例输入21 23 4样例输出4 2 2#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int n,x,y; scanf("%d",&n); int *a;.原创 2021-10-09 15:50:23 · 389 阅读 · 0 评论 -
题目 1068: 温度转换
题目描述输出一张摄氏一华氏温度转换表,摄氏温度的取值区间是[-1000C,1500C],温度间隔50C。要求定义和调用函数ctof(c),将摄氏温度C转换成华氏温度F,计算公式:F = 32 + C* 9/5。例如c=0->f=32c=5->f=41c=10->f=50c=15->f=59c=20->f=68c=25->f=77c=30->f=86c=35->f=95c=40->f=104c=45->...原创 2021-10-08 20:50:36 · 394 阅读 · 1 评论 -
题目 1067: 分段函数
题目描述输入x,计算并输出下列分段函数f(x)的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs()和幂函数pow()。保留2位小数输入x输出f(x)样例输入5样例输出15.00#include <stdio.h>#include <math.h>int main(){ double x; scanf("%lf",&x); if(x<0) { x=fabs(x);...原创 2021-10-08 19:29:22 · 2560 阅读 · 0 评论 -
题目 1066: 自定义函数
题目描述输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。 x - x2/2! + x3/3! + ... + (-1)n-1xn/n!×输出保留4位小数。输入x n输出数列和样例输入2.0 3样例输出1.3333#include <stdio.h>#include <math.h>dou...原创 2021-10-07 19:41:37 · 247 阅读 · 0 评论 -
题目 1065: 最小绝对值
题目描述输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。输入十个数输出交换后的十个数样例输入10 2 30 40 50 60 70 80 90 100样例输出10 100 30 40 50 60 70 80 90 2#include <stdio.h>#include <math.h>void getf(int a[]);int minf(int a[]);void swapf_and_putf(原创 2021-10-05 16:25:45 · 269 阅读 · 0 评论 -
题目 1064: 阶乘数列
题目描述求1+2!+3!+4!+…+30!。科学计数法,保留两位小数。输入无输出2.74e+032#include <stdio.h>int main(){ int i; double a=1,sum=0; for(i=1;i<=30;i++) { a*=i; sum+=a; } printf("%.2e",sum); return 0; }...原创 2021-10-05 15:59:36 · 120 阅读 · 0 评论 -
题目 1061: 计负均正
题目描述从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。保留两位小数输入无输出无样例输入1 2 3 4 5 6 7 8 9 10-1 -2 -3 -4 -5 -6 -7 -8 -9 -10样例输出105.50#include <stdio.h>int main(){ int a[20],i,minus_amount=0,positive_amount=0; float positive_sum=0; for原创 2021-10-05 15:50:18 · 166 阅读 · 0 评论 -
题目 1060: 同因查找
题目描述求出10至1000之内能同时被2、3、7整除的数,并输出,每行一个。样例输出4284126168210252294336378420462504546588630672714756798840882924966#include <stdio.h>int main(){ int a=10,b=1000,i; for(i=a;i<=b;i++) { if(i%2==0&&i%3==0&原创 2021-09-29 16:53:53 · 150 阅读 · 0 评论 -
题目 1059: 等差数列
题目描述sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。输入无输出无样例输入2样例输出7有题目得,这是一个等差数列,利用求和可得出答案。#include <stdio.h>int main(){ int n,sum; scanf("%d",&n); sum=(3*n*n+n)/2; printf("%d",sum); return 0;}...原创 2021-09-29 12:38:49 · 176 阅读 · 0 评论 -
题目 1058: 求偶数和
题目描述编制程序,输入n个整数(n从键盘输入,n>0),输出它们的偶数和。输入无输出无样例输入21 2样例输出2#include <stdio.h>int f(int a);//偶数函数int main(){ int n,i,a,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a); if(f(a)==1) { s原创 2021-09-29 10:11:44 · 985 阅读 · 1 评论 -
题目 1055: 进制转换
题目描述编程,输入一个10进制正整数,然后输出它所对应的八进制数。输入无输出无样例输入10样例输出12#include <stdio.h>void ten_to_eight_f(int a);//十转八进制函数int main(){ int a; scanf("%d",&a); ten_to_eight_f(a); return 0;}void ten_to_eight_f(int a){ if(a>原创 2021-09-29 00:14:48 · 112 阅读 · 0 评论 -
题目 1054: 计算素数和
题目描述输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。输入m n输出素数和样例输入2 3样例输出5#include <stdio.h>int isprime(int x);//素数函数int main(){ int m,n,i,sum=0; scanf("%d%d",&m,&n); fo原创 2021-09-26 19:35:52 · 141 阅读 · 0 评论 -
题目 1053: 平均值计算
题目描述输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。输入10个数输出大于平均数的个数样例输入1 2 3 4 5 6 7 8 9 10样例输出5原创 2021-09-25 16:31:41 · 437 阅读 · 0 评论 -
题 目 1052: 链表合并
题目描述已有a、b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。输入第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成输出按照学号升序排列的数据样例输入2 35 1006 893 824 952 10样例输出2 103 824 955 1006 89...原创 2021-09-25 14:51:03 · 291 阅读 · 0 评论 -
题目 1051: 结构体之成绩统计2
题目描述有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)输入学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。输出各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)样例输入21 blue 90 80 70b clan 80 70 60样例输出85 75 651 blue 90 80 70...原创 2021-09-21 18:16:15 · 323 阅读 · 0 评论 -
题目 1050: 结构体之成绩记录
题目描述现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100输入学生数量N占一行 每个学生的学号、姓名、三科成绩占一行,空格分开。输出每个学生的学号、姓名、三科成绩占一行,逗号分开。样例输入2a100 clang 70 80 90b200 dotcpp 90 85 75样例输出原创 2021-09-21 17:13:38 · 465 阅读 · 0 评论 -
题目 1049: 结构体之时间设计
题目描述定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。输入年月日输出当年第几天样例输入2000 12 31样例输出366#include <stdio.h>int leap_year_f(int y);int month_f(int a);struct Date{ int year; int month; int day;};int main(){ struct Da原创 2021-09-19 21:57:33 · 187 阅读 · 0 评论 -
题目 1048: 自定义函数之字符串拷贝
题目描述有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。输入数字n 一行字符串 数字m输出从m开始的子串样例输入6abcdef3样例输出cdef#include <stdio.h>#include <stdlib.h>void copyf(char *a,char *A);int main(){ char *a,*A; int n; scanf("%d原创 2021-09-19 17:37:37 · 309 阅读 · 0 评论 -
题目 1047: 报数问题
题目描述有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。输入初始人数n输出最后一人的初始编号样例输入3样例输出2#include <stdio.h>int i_nextf(int i,int peo);int num_nextf(int num);int main(){ int a[128]={0}; int n,peo,i=0,num=1; s原创 2021-09-19 17:00:26 · 331 阅读 · 0 评论 -
题目 1046: 自定义函数之数字后移
题目描述有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。输入输入数据的个数n n个整数 移动的位置m输出移动后的n个数样例输入101 2 3 4 5 6 7 8 9 102样例输出9 10 1 2 3 4 5 6 7 8 #include <stdio.h>void f(int a[],int b,int i);int main(){ int原创 2021-09-18 22:20:17 · 249 阅读 · 0 评论 -
题目 1045: 自定义函数之整数处理
题目描述输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。输入10个整数输出整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)样例输入2 1 3 4 5 6 7 8 10 9样例输出1 2 3 4 5 6 7 8 9 10 #include <stdio.h>int inputing_f();void dealing_with_f(int a[]);原创 2021-09-18 18:32:39 · 129 阅读 · 0 评论 -
题目 1044: 三个字符串的排序
题目描述输入三个字符串,按由小到大的顺序输出输入3行字符串输出按照从小到大输出成3行样例输入cdeafgabc样例输出abcafgcde#include <stdio.h>int f(char a[],char b[]);int main(){ char a[128],b[128],c[128]; gets(a); gets(b); gets(c); if(f(a,b)==-1)原创 2021-09-17 22:16:55 · 183 阅读 · 0 评论 -
题目 1043: 三个数字的排序
题目描述输入三个整数,按由小到大的顺序输出。输入三个整数输出由小到大输出成一行,每个数字后面跟一个空格样例输入2 3 1样例输出1 2 3 #include <stdio.h>int main(){ int a[3]; int i,b,x,temp; for(i=0;i<=2;i++) { scanf("%d",&a[i]); } for(b=2;b>=1;原创 2021-09-17 18:12:55 · 259 阅读 · 0 评论 -
题目 1042: 电报加密
题目描述输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)。输入一行字符输出加密处理后的字符样例输入a b样例输出b c#include <stdio.h>int main(){ char a[128]; int i; gets(a); for(i=0;a[i]!='\0';i++) { if((a[i]>='a'&&a[i原创 2021-09-11 15:34:16 · 586 阅读 · 0 评论 -
题目 1041: 宏定义之找最大数
题目描述分别用函数和带参的宏,从三个数中找出最大的数。输入3个实数输出最大的数,输出两遍,先用函数,再用宏。 保留3位小数。样例输入1 2 3样例输出3.0003.000#include <stdio.h>#define maximum (x>y)?((x>z)?x:z):((y>z)?y:z)double maxf(double x,double y,double z);int main(){ doubl原创 2021-09-09 15:18:17 · 266 阅读 · 0 评论 -
题目 1040: 实数的打印
题目描述请设计输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用"6.2f"格式输出。输入一个实数,float范围输出输出3行,第一行打印一遍输入的数,第二行打印两遍,第三行打印三遍。 第二行和第三行,用空格分隔同一行的数字。 实数用"6.2f"格式输出。样例输入0.618样例输出 0.62 0.62 0.62 0.62 0.62 0.62...原创 2021-09-08 16:35:37 · 353 阅读 · 0 评论 -
题目 1039: 宏定义之闰年判断
题目描述给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y) (读者设计的字符串)输入一个年份输出根据是否闰年输出,是输出"L",否输出"N"样例输入2000样例输出L会用到很多条件判断运算符,不好看#include <stdio.h>#define LEAP_YEAR ((y%4==0)?((y%100==0)?((y%400==0)?原创 2021-09-07 16:14:54 · 546 阅读 · 0 评论 -
题目 1038: 宏定义练习之三角形面积
题目描述三角形面积=sqrt(S*(S-a)*(S-b)*(S-c)) 其中S=(a+b+c)/2,a、b、c为三角形的三边。 定义两个带参的宏,一个用来求area, 另一个宏用来求S。 写程序,在程序中用带实参的宏名来求面积area输入a b c三角形的三条边,可以是小数。输出三角形面积,保留3位小数样例输入3 4 5样例输出6.000#include <stdio.h>#include <math.h>#define S (a+原创 2021-09-07 14:44:47 · 1177 阅读 · 0 评论 -
题目 1037: 宏定义的练习
题目描述输入两个整数,求他们相除的余数。用带参的宏来实现,编程序。输入a b两个数输出a/b的余数样例输入3 2样例输出1#include <stdio.h>#define macro(a,b) a%bint main(){ int a,b; scanf("%d%d",&a,&b); printf("%d",macro(a,b)); return 0;}...原创 2021-09-07 13:20:24 · 346 阅读 · 0 评论 -
题目 1036: 带参数宏定义练习
题目描述定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。输入两个数,空格隔开输出交换后的两个数,空格隔开样例输入1 2样例输出2 1#include <stdio.h>#define macro(a,b) i=a;a=b;b=i//macro [ˈmækrəʊ] 宏int main(){ int a,b,i; scanf("%d%d",&a,&b);原创 2021-09-07 13:16:04 · 623 阅读 · 0 评论 -
题目 1035: 自定义函数之字符类型统计
题目描述编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。输入一行字符串输出统计数据,4个数字,空格分开。样例输入!@#$%^QWERT 1234567样例输出5 7 4 6 #include <stdio.h>void f(char a[],int b[]);int main(){ char a[256]; int原创 2021-09-07 13:01:24 · 398 阅读 · 0 评论 -
题目 1032: 自定义函数之字符串连接
#include <stdio.h>int main(){ char a[1000]; int i=0,x; while((a[i]=getchar())!='\n') { i++; } while((a[i]=getchar())!='\n') { i++; } for(x=0;x<=i;x++) { putchar(a[x]); } .原创 2021-09-06 18:47:50 · 175 阅读 · 0 评论 -
题目 1033: 自定义函数之字符提取
#include <stdio.h>void f(char a[],char b[],int i);int main(){ char a[128],b[64]; int i=0; while((a[i]=getchar())!='\n') { i++; } f(a,b,i); return 0;}void f(char a[],char b[64],int i){ int x,y; ...原创 2021-09-06 18:12:42 · 449 阅读 · 3 评论 -
题目 1034: 自定义函数之数字分离
题目描述写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"。输入一个四位数输出增加空格输出样例输入1990样例输出1 9 9 0#include <stdio.h>void f(char a[]);int main(){ char a[4]; int i; for(i=0;i<=3;i++) { scanf("%c",&原创 2021-09-06 15:34:58 · 342 阅读 · 0 评论 -
题目 1031: 自定义函数之字符串反转
题目描述写一函数,使输入的一个字符串按反序存放,在主函数中输入并输出反序后的字符串(不包含空格)输入一行字符输出逆序后的字符串样例输入123456abcdef 样例输出fedcba654321这道题是利用递归做的,该程序按回车键就会将字符串反序存放#include <stdio.h>void f(char a);int main(){ f(getchar()); return 0;}void f(char a)原创 2021-09-05 14:45:47 · 194 阅读 · 0 评论 -
题目 1030: 二维数组的转置
题目描述写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。输入一个3x3的矩阵输出无样例输入1 2 34 5 67 8 9样例输出1 4 7 2 5 8 3 6 9 #include <stdio.h>int main(){ int a[3][3],x,y; int b[3][3]; for(x=0;x<=2;x++) { for(y=0;y<=2;y++)原创 2021-09-04 17:27:39 · 476 阅读 · 0 评论