基础编程题目集
2
杨居光
这个作者很懒,什么都没留下…
展开
-
6-10 阶乘计算升级版 (20 分)
函数接口定义:void Print_Factorial ( const int N );其中N是用户传入的参数,其值不超过1000。如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印“Invalid input”。裁判测试程序样例:#include <stdio.h>void Print_Factorial ( const int N );int main(){ int N; scanf("%d", &N); Prin.原创 2021-09-30 21:04:38 · 82 阅读 · 0 评论 -
7-15 计算圆周率 (15 分)
题目详情 (pintia.cn)code 1(未完全通过)#include<stdio.h>int main(){ unsigned long long i,a=1,b=1; int c,cnt=0; double sum=0,n; scanf("%lf",&n); for(i=1;1.0*a/b>=n;i++){ a*=i; b*=(2*i+1); sum+=1.0*a/b;原创 2021-09-30 16:28:48 · 75 阅读 · 0 评论 -
7-23 币值转换 (20 分)
题目详情 (pintia.cn)#include <stdio.h>int main(){ int i=0,j,n; scanf("%d",&n); char a[9]; char b[9]={'\n','S','B','Q','W','S','B','Q','Y'}; //位的名称存入数组b if(n==0){ printf("a\n"); } else{ while(n!=0){ //数字存入数组a a[i]=n%10; n=n/10;原创 2021-09-30 13:35:36 · 1784 阅读 · 5 评论 -
*7-37 整数分解为若干项之和 (20 分)
将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。输入格式:每个输入包含一个测试用例,即正整数N (0<N≤30)。输出格式:按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N1={n1,n2,⋯}和N2={m1,m2,⋯},若存在i使得n1=m1,⋯,ni=mi,但是ni+1<mi+1,则N1序列必定在N2序列之前输出。每个式子由小到大相加,式原创 2021-09-29 18:32:31 · 132 阅读 · 0 评论 -
7-36 复数四则运算 (15 分)
题目详情 (pintia.cn)#include <stdio.h>void vv(double a,double b,double c,double d,double e,double f,char g);int main(){ double a,b,c,d; scanf("%lf %lf %lf %lf",&a,&b,&c,&d); vv(a,b,c,d,a+c,b+d,'+'); vv(a,b,c,d,a-c,b-d,'-'); v原创 2021-09-27 13:20:01 · 83 阅读 · 0 评论 -
7-35 有理数均值 (20 分)
题目详情 (pintia.cn)#include <stdio.h>void JJ(int *z1,int *m1,int *z2,int *m2);int main(){ int i,n; scanf("%d",&n); int z[n+1]; int m[n+1]; z[n]=0,m[n]=1; for(i=0;i<n;i++){ scanf("%d/%d",&z[i],&m[i]); } for(i=0;i<n原创 2021-09-27 10:13:37 · 34 阅读 · 0 评论 -
7-34 通讯录的录入与显示 (10 分)
题目详情 (pintia.cn)#include <stdio.h>struct TXL{ char name[11]; char bir[11]; char gen[2]; char num1[17]; char num2[17];};int main(){ int i, n; scanf("%d", &n); struct TXL a[n]; for (i = 0; i < n; i++){原创 2021-09-26 17:34:59 · 255 阅读 · 0 评论 -
7-32 说反话-加强版 (20 分)
题目详情 (pintia.cn)#include <stdio.h>#include <string.h>int main(){ int i, j, k, flag = 0; char a[500001]; char b[500001]; gets(a); i = strlen(a); for (k = 0; k < i; k++){ if (a[k] != ' ') br原创 2021-09-26 11:13:23 · 80 阅读 · 0 评论 -
7-31 字符串循环左移 (20 分)
题目详情 (pintia.cn)#include <stdio.h>#include <string.h>int main(){ int i, j, k, n; char a[100]; char b[100]; gets(a); scanf("%d", &n); k = n % strlen(a); strcpy(b, a + k); strcpy(a + k, "\0"); strcpy原创 2021-09-26 05:30:17 · 60 阅读 · 0 评论 -
7-30 字符串的冒泡排序 (20 分)
题目详情 (pintia.cn)#include <stdio.h>#include <string.h>int main(){ int i, j, k, n; char a[100][11]; char p[10]; scanf("%d %d", &n, &k); for (i = 0; i < n; i++){ scanf("%s", a[i]); } for (i =原创 2021-09-25 21:10:47 · 199 阅读 · 0 评论 -
*7-29 删除字符串中的子串 (20 分)
题目详情 (pintia.cn)code:#include<stdio.h>#include<string.h>int main(){ char *s1=(char*)malloc(85); char *s2=(char*)malloc(85); gets(s1); gets(s2); while(strstr(s1,s2)!=NULL){ strcpy(strstr(s1,s2),strstr(s1,s2)+strlen(s2)); }原创 2021-09-24 10:14:27 · 104 阅读 · 0 评论 -
7-28 猴子选大王 (20 分)
一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:11输出样例:7code:(约瑟夫环问题)方式一:#include <stdio.h&g原创 2021-09-23 08:43:35 · 156 阅读 · 0 评论 -
7-27 冒泡法排序 (20 分)
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。输出格式:在一行中输出冒泡排序法原创 2021-09-21 18:09:18 · 222 阅读 · 0 评论 -
7-26 单词长度 (15 分)
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",...);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:It's great to see you here.原创 2021-09-21 09:30:19 · 61 阅读 · 0 评论 -
7-25 念数字 (15 分)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如yi er san si。输入样例:-600结尾无空行输出样例:f.原创 2021-09-19 19:17:26 · 300 阅读 · 0 评论 -
7-24 约分最简分式 (15 分)
分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。提示:对于C语言,在scanf的格式字符串中加入/原创 2021-09-18 17:10:59 · 89 阅读 · 0 评论