自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 1025. PAT Ranking (25) [排序]

Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several places, and the ranklists will be merged immediately after the test. Now it is your

2020-07-16 21:29:14 380

原创 藏头诗 (15分)

藏头诗 (15分)本题要求编写一个解密藏头诗的程序。输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:一叶轻舟向东流帆稍轻握杨柳手风纤碧波微起舞顺水任从雅客流输出样例:一帆风顺#include <stdio.h>#include <string.h>#define M 4#define N 20 #include <

2020-07-15 11:01:15 2259

原创 字符串排序 (15分)

字符串排序 (15分)本题将5个字符串从小到大排序后输出(用指针数组实现)。函数接口定义:void fsort(char *color[ ], int n);其中 color为指针数组首地址,n是字符串个数。裁判测试程序样例:#include <stdio.h>#include <string.h>void fsort(char *color[ ], int n);int main(void ){int i;char *pcolor[ ] = {“red”,

2020-07-15 08:34:16 9442 6

原创 递归实现逆序输出整数 (15分)

递归实现逆序输出整数 (15分)本题目要求读入1个正整数n,然后编写递归函数reverse(int n)实现将该正整数逆序输出。输入格式:输入在一行中给出1个正整数n。输出格式:对每一组输入,在一行中输出n的逆序数。输入样例:12345输出样例:54321正常程序# include<stdio.h>int pin(int n,int a[],int i);int main(){ int n,i,a[1000]; scanf("%d",&n); pin

2020-07-14 22:23:54 8768 3

原创 汉诺(Hanoi)塔问题 (20分)

汉诺(Hanoi)塔问题 (20分)古代某寺庙中有一个梵塔,塔内有3个座A、B和C,座A上放着64个大小不等的盘,其中大盘在下,小盘在上。有一个和尚想把这64 个盘从座A搬到座B,但一次只能搬一个盘,搬动的盘只允许放在其他两个座上,且大盘不能压在小盘上。现要求用程序模拟该过程,输入一个正整数n,代表盘子的个数,编写函数void hanoi(int n,char a,char b,char c)其中,n为盘子个数,从a座到b座,c座作为中间过渡,该函数的功能是输出搬盘子的路径。输入格式:输入在一行中

2020-07-14 21:53:54 5873 1

原创 修改学生成绩 (15分)

修改学生成绩 (15分)输入n(n<50)个学生的成绩信息,再输入一个学生的学号、课程以及成绩,在自定义函数update_score()中修改该学生指定课程的成绩。函数接口定义:int update_score(struct student *p, int n, int num, int course, int score);其中p是结构指针,n是学生个数,course是课程序号,score是修改后的课程成绩。函数须返回指定学生的顺序位置,如果查无此人,返回-1。裁判测试程序样例:#inc

2020-07-14 15:27:00 5731 1

原创 学生成绩排序 (15分)

学生成绩排序 (15分)假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(n<50)个学生的成绩信息,按照学生的个人平均分从高到低输出他们的信息。如果平均分相同,按输入的先后顺序排列。输入格式:输入一个正整数n(n<50),下面n行输入n个学生的信息,包括:学号、姓名、三门课程成绩(整数)。输出格式:输出从高到低排序后的学生信息,包括:学号、姓名、平均分(保留两位小数)。输入样例:3101 Zhang 78 87 851

2020-07-14 14:42:18 15725 2

原创 输出平均分最高的学生信息 (10分)

输出平均分最高的学生信息 (10分)假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(1<=n<=10)个学生的成绩信息,计算并输出平均分最高的学生信息,平均分保留两位小数。如果平均分最高的学生有多个,按输入顺序输出第一个学生的信息。输入格式:输入整数n(1<=n<=10),在下面n行输入n个学生的信息,包括学号、姓名、三门课程成绩(整数)。输出格式:在一行中输出平均分最高的学生信息:学号、姓名、平均分(保留两位小数

2020-07-14 13:32:28 7642

原创 消除前后空格后判断是否回文

下列程序先消除输入字符串的前后空格,再判断是否是“回文”(即字符串正读和倒读都是一样),若是则输出YES,否则输出NO。#include <stdio.h>#include <string.h>int main(void){ char s[80],ch,*p,*q; int i,j,n; gets(s); p=s; while( *p == ' ') //p移动到串首空格后一个位置 p++; n=strlen(s); q=s+n-1; while

2020-07-14 11:35:09 10133 3

原创 在字符串中找出最大的字符并移到首位

在字符串str中找出最大的字符并放在第一个位置上,并将将字符前的原字符往后顺序移动。#include <stdio.h>int main(){ char str[80],max,*p,*q; p=str; gets(p); max=*(p++); while(*p != '\0'){ if(max<*p){ max=*p; //max存放最大值 q=p; //q存放最大值地址 } p++; } p=q; while( p&g

2020-07-14 11:08:39 9622 1

原创 输入年份和天数,输出对应的年、月、日 (15分)

输入年份和天数,输出对应的年、月、日 (15分)要求定义和调用函数month_day ( year, yeardy, *pmonth, *pday),通过参数pmonth和pday返回计算得出的月和日。例如,输入2000和61,分别返回3和1,即2000年的第61天是3月1日。函数接口定义:void month_day ( year, yeardy, *pmonth, *pday)其中year是年,yearday是天数,pmonth和pday是计算得出的月和日。裁判测试程序样例:# includ

2020-07-13 17:17:13 6698

原创 是负数吗?

输入一个以#结束的字符串,滤去所有的非十二进制字符(不分大小写),组成一个新的表示十二进制数字的字符串,并输出新的字符串。过滤时,如果在第一个十二进制数字字符前出现“-”,代表该字符串对应的数是负数,则先输出“-”,再输出字符串。题目假设过滤后的字符串不为空。#include <stdio.h>int main(){ int flag,i,j; char str[81],newstr[81]; i=0; while((str[i]=getchar())!='

2020-07-13 15:04:05 3749 3

原创 判断方阵是否沿主对角线对称

输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出“Yes”, 否则,输出“No”。主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等。输入输出示例如下:输入:31 2 34 5 67 8 9输出:No#include <stdio.h>int main(void) { int found,i,k,n; int a[10][10

2020-07-13 13:20:24 10636 2

原创 几种排序和查找方法

冒泡法排序本题要求将给定的n个整数从小到大排序后输出。输出时相邻数字中间用一个空格分开,行末不得有多余空格。#include <stdio.h># define MAXN 10int main(){ int i,j,n,temp,flag; int a[MAXN]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]);

2020-07-13 13:05:02 2410

原创 计算天数 (15分)

计算天数 (15分)本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2:62#include <stdio.h>int main(){ int yea

2020-07-12 16:52:54 796

原创 方阵转置 (15分)

方阵转置 (15分)本题要求编写程序,将一个给定的 n×n 方阵转置(行列互换)后输出。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出转置后的n行n列矩阵,每个数占4位。输入样例:31 2 34 5 67 8 9输出样例:1 4 72 5 83 6 9#include <stdio.h>int main(){ int a[6][6],i,j,n; scanf("%d",&

2020-07-12 16:31:01 4312

原创 以矩阵的形式输出二维数组 (15分)

以矩阵的形式输出二维数组 (15分)本题要求编写程序,先对一个m×n的二维数组赋值,数组元素的值为其行下标和列下标之和,再按照矩阵的形式输出该二维数组。输入格式:输入在一行内给出两个正整数m和n(1≤m,n≤6),其间以空格分隔。输出格式:按照矩阵的形式输出该二维数组,每个数占4位。输入样例:3 4输出样例:0 1 2 31 2 3 42 3 4 5#include<stdio.h>int main(){ int i,j,m,n

2020-07-12 16:17:31 10779 4

原创 求矩阵的最大值(设惟一) (15分)

求矩阵的最大值(设惟一) (15分)本题要求编写程序,求一个给定的m×n矩阵的最大值以及位置。题目保证最大值惟一。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:输出在第一行中输出最大值,在第二行中按照“行下标 列下标”(下标从0开始)的格式输出最大值的位置。输入样例:3 26 323 -96 -1输出样例:231 0#include<stdio.h>int main(){ int i,j,m,

2020-07-12 16:02:25 3452

原创 选择法排序 (20分)

选择法排序 (20分)本题要求将给定的n个整数从大到小排序后输出。输入格式:输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。输出格式:在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。输入样例:45 1 7 6输出样例:7 6 5 1#include<stdio.h>int main(){ int i, index, j, n, temp; int a[10]; scanf("%d", &n);

2020-07-12 15:26:44 1056

原创 调查电视节目受欢迎程度 (15分)

调查电视节目受欢迎程度 (15分)某电视台要调查观众对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,共调查了n位观众(1≤n≤1000),现要求编写程序,输入每一位观众的投票情况(每位观众只能选择一个最喜欢的栏目投票),统计输出各栏目的得票情况。输入格式:输入在第1行中给出一个正整数n(1≤n≤1000),第2行输入n个整数,其间以空格分隔。输出格式:按顺序输出所有8个栏目的编号和得票数,每个数占4位,每行输出一个栏目的编号和得票数。输入样例:103 4 7 6 3 9 2 3 1 8

2020-07-12 15:14:40 4036

原创 交换最小值 (15分)

交换最小值 (15分)本题要求编写程序,找出给定的N个数中的最小值,并将其与第一个数交换,最后输出交换后的序列。题目保证最小值是唯一的。输入格式:输入在第一行中给出一个正整数N(1≤n≤10),第二行给出N个整数,数字间以空格分隔。输出格式:在一行中顺序输出交换后的序列,每个整数后跟一个空格。输入样例:58 2 5 1 4输出样例:1 2 5 8 4#include<stdio.h>#include<math.h>int main(){ int a,n

2020-07-12 14:02:37 5453

原创 求最小值及其下标 (15分)

求最小值及其下标 (15分)本题要求编写程序,找出给定的n个数中的最小值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最小值及最小值的最小下标,中间用一个空格分开。输入样例:62 9 -1 8 -1 6输出样例:-1 2#include<stdio.h>#include<math.h>int main(){ int a,n,i,min; int mi

2020-07-12 13:55:01 9032 3

原创 查找满足条件的所有整数 (15分)

查找满足条件的所有整数 (15分)本题要求编写程序,将输入的n个整数存入数组a中,然后在数组a中查找给定的x。如果数组a中的元素与x的值相同,输出所有满足条件的元素的下标(下标从0开始);如果没有找到,输出“Not Found”。输入格式:第1行输入一个正整数n(0<n≤10)和一个整数x,第2行输入n个整数,其间以空格分隔。题目保证数据不超过长整型整数的范围。输出格式:如果找到,输出所有与x的值相同的元素的下标,每行输出一个下标;如果没有找到,在一行中输出“Not Found”。输入样例

2020-07-12 13:45:08 5949

原创 利用数组计算斐波那契数列 (15分)

利用数组计算斐波那契数列 (15分)本题要求编写程序,利用数组计算菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证计算结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如::1,1,2,3,5,8,13,…。输入格式:输入在一行中给出一个整数N(1≤N≤46)。输出格式:输出前N个Fibonacci数,每个数占11位,每行输出5个。如果最后一行输出的个数不到5个,也需要换行。如果输入的N不在有效范围内,则输出"Invali

2020-07-12 13:30:49 9852

原创 输出所有大于平均值的数 (15分)

输出所有大于平均值的数 (15分)本题要求编写程序,将输入的n个整数存入数组a中,然后计算这些数的平均值,再输出所有大于平均值的数。输入格式:输入在第1行中给出一个正整数n(1≤n≤10),第2行输入n个整数,其间以空格分隔。题目保证数据不超过长整型整数的范围。输出格式:输出在第1行给出平均值,保留2位小数。在第2行输出所有大于平均值的数,每个数的后面有一个空格;如果没有满足条件的数,则输出空行。如果输入的n不在有效范围内,则在一行中输出"Invalid."。输入样例1:1055 23 8

2020-07-12 13:17:52 9372

原创 输出100以内的完数

输出 1 到 100 之间的所有完数。要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。完数就是因子和与它本身相等的数,6是完数(6=1+2+3),1不是完数。#include <stdio.h>int main(void){ int i; int is(int n); for(i = 1; i <= 100; i++) if( is(i) ) printf("%d ", i);

2020-07-11 17:31:16 15282

原创 大小写字母转换 (15分)

大小写字母转换 (15分)输入一行字符,以回车符 ‘\n’ 结束,将其中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。输入格式:输入一行字符,以回车符 ‘\n’ 结束。输出格式:将输入字符串中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。输入样例:Reold 123?输出样例:rEOLD 123?#include<stdio.h>int main(void){ char ch

2020-07-11 16:09:31 14945 5

原创 单词加密解析 (15分)

单词加密解析 (15分)输入一个英文单词(由六个小写英文字母组成),按照下列过程将该单词加密:先将英文单词中的小写字母转换为对应的大写字母,再将该大写字母的ASCII码对10整除后取其余数,从而得到一个六位整数密码。输入格式:输入在一行中给出1个由六个小写英文字母组成的英文单词。输出格式:按照规则转换成一个六位整数密码,并输出转换的过程。输入样例:friday输出样例:f->F->0r->R->2i->I->3d->D->8a-&gt

2020-07-11 15:33:15 2617 2

原创 将一个整数逆序输出

输入一个整数,将它逆序输出。要求定义并调用函数reverse(long number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。请将函数补充完整。运行示例如下:-123 (输入整数-123)-321 (逆序后输出-321)#include<stdio.h>long reverse(long number);int main(){ int a; scanf("%d",&a); printf("%d",reverse(a

2020-07-11 14:56:42 18711 2

原创 计算2个复数之和与之积 (15分)

计算2个复数之和与之积 (15分)分别输入2个复数的实部与虚部,用函数实现计算2个复数之和与之积。 若2个复数分别为:c1=x1+(y1)i, c2=x2+(y2)i, 则:c1+c2 = (x1+x2) + (y1+y2)ic1c2 = (x1x2-y1y2) + (x1y2+x2*y1)i输入格式:输入在一行中给出4个实数,分别代表c1和c2的实部和虚部。输出格式:在两行中分别输出c1+c2和c1*c2的计算结果。输入样例:1 1 -2 3输出样例:addition of comp

2020-07-11 13:58:05 8699

原创 打印一个n行n列的方阵

输入一个正整数n(1≤n≤10),打印一个n行n列的方阵。当n=4时,打印如下方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input

2020-07-11 12:51:52 12453 2

原创 从高位开始逐位分割并输出它的各位数字

输入一个非负整数,从高位开始逐位分割并输出它的各位数字。例如,输入9837,输出9 8 3 7#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) { int digit, num.

2020-07-11 12:30:43 8891 3

原创 输出各种图案(星号表示)

右上直角*** ** *#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) { int i, j, n; scanf("%d", &n);//输入3 for

2020-07-11 12:26:35 1467

原创 穷举问题-搬砖 (15分)

穷举问题-搬砖 (15分)某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法?输入格式:输入在一行中给出一个正整数n。输出格式:输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c"的格式,输出男人的数量cnt_m,女人的数量cnt_w,小孩的数量cnt_c。请注意,等号的两侧各有一个空格,逗号的后面也有一个空格。如果找不到符合条件的方案,则输出"None"输入样例:4

2020-07-10 20:03:15 4731

原创 输出前 n 个Fibonacci数 (15分)

输出前 n 个Fibonacci数 (15分)本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证输出结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如:1,1,2,3,5,8,13,…。输入格式:输入在一行中给出一个整数N(1≤N≤46)。输出格式:输出前N个Fibonacci数,每个数占11位,每行输出5个。如果最后一行输出的个数不到5个,也需要换行。如果N小于1,则输出"Invalid."输入样

2020-07-10 20:02:35 4255 1

原创 输出2到n之间的全部素数 (20分)

输出2到n之间的全部素数 (20分)本题要求输出2到n之间的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。输入格式:输入在一行中给出一个长整型范围内的整数。输出格式:输出素数,每个数占6位,每行输出10个。如果最后一行输出的素数个数不到10个,也需要换行。输入样例:10输出样例: 2 3 5 7#include<stdio.h>#include<math.h>int is_prime(in

2020-07-10 20:01:37 13676 1

原创 逆序输出一个整数的各位数字 (15分)

逆序输出一个整数的各位数字 (15分)本题要求编写程序,对输入的一个非负整数,从低位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从低位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入样例:1234560输出样例:0 6 5 4 3 2 1#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser

2020-07-10 20:00:08 8317 1

原创 找出一批学生的最高分 (15分)

找出一批学生的最高分 (15分)本题要求编写程序,找出最高分。输入格式:输入在一行中给出一系列非负整数,其间以空格分隔。当读到负整数时,表示输入结束,该数字不要处理。输出格式:在一行中输出最高分。输入样例:在这里给出一组输入。例如:67 88 73 54 0 95 60 -1输出样例:在这里给出相应的输出。例如:95#include <stdio.h>#include <stdlib.h>/* run this program using the co

2020-07-10 19:59:23 9534

原创 找出指定数量学生的最高分 (15分)

找出指定数量学生的最高分 (15分)本题要求编写程序,找出最高分。输入格式:输入在第一行中给出正整数n,即学生人数。第二行给出n个非负整数,即这n位学生的成绩,其间以空格分隔。输出格式:在一行中输出最高分输入样例:482 54 98 73输出样例:98#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch,

2020-07-10 19:58:11 4201

原创 统计100-999内的水仙花数

#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) { int num,t_num,s,digit; for(num = 100; num <= 999; num++){

2020-07-10 17:53:40 1062

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除