
基础编程题目集
爱喝水的李师傅
空有人间自由身
却非人间自由人
展开
-
7-38 数列求和-加强版
解题思路:用数组存储结果,再从后往前输出结果字符。核心代码 for(int i=n;i>0;i--,j++) { t=i*a+fd;//fd是进的位 fd=t/10; res[j]=t%10; } if(fd!=0) printf("%d",fd);#include<stdio.h>int main(){ int res[100001]=原创 2020-11-22 12:24:16 · 105 阅读 · 0 评论 -
7-27 冒泡法排序
冒泡排序原理(1)比较相邻的元素。如果第一个第二个大,就交换它们两个(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。最后的元素应该会是最大的元素(3)针对所有的元素重复以上的步骤,除了最后一个(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较#include <stdio.h>int main(){ int n,k,a[100],temp; scanf("%d %d",&n,&k); for(int原创 2020-11-21 12:32:25 · 138 阅读 · 0 评论 -
7-31 字符串循环左移
解题思路:字符左移,左移多少,就先输出n-len的字符,在输出0-n的字符#include <stdio.h>#include <string.h>int main(){ int n,len,j; char ch[101]; gets(ch); scanf("%d",&n); len=strlen(ch); if(n>len) n%=len; for(int i=n;i<len;i+原创 2020-11-20 22:41:58 · 122 阅读 · 0 评论 -
7-21 求特殊方程的正整数解
#include <stdio.h>int main(){ int x=1,y,n,flag=0; scanf("%d",&n); while(x*x<=n) { for(y=1;y<=100;y++)//一定是从1开始的,因为是正整数 { if((x*x+y*y==n)&&x<=y) { flag=1;原创 2020-11-19 20:23:47 · 159 阅读 · 0 评论 -
7-20 打印九九口诀表
注意点:等号右边数字占4位,左对齐。用代码来写是%-4d#include <stdio.h>int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) printf("%d*%d=%-4d",j,i,i*j); printf("\n"); } return 0;}原创 2020-11-19 19:51:58 · 132 阅读 · 0 评论 -
7-19 支票面额
#include <stdio.h>int main(){ int n,f,y,flag=0; scanf("%d",&n); for(f=0;f<100;f++) { for(y=0;y<100;y++) { if(98*f-n==199*y) { printf("%d.%d",y,f); fla原创 2020-11-19 19:30:30 · 164 阅读 · 0 评论 -
7-17 爬动的蠕虫
#include <stdio.h>int main(){ int n,d,u,t=0,s=0; scanf("%d %d %d",&n,&d,&u); while(1) { t++; s+=d; if(s>=n) break; t++; s-=u; } printf("%d",t); return 0;原创 2020-11-18 22:47:12 · 186 阅读 · 0 评论 -
7-14 求整数段和
#include <stdio.h>int main(){ int a,b,j=0,s=0; scanf("%d %d",&a,&b); for(int i=a;i<=b;i++) { printf("%5d",i); j++; if(j%5==0||j==(b-a+1)) printf("\n"); s+=i; } printf("S原创 2020-11-18 21:18:43 · 116 阅读 · 0 评论 -
7-13 日K蜡烛图
#include <stdio.h>int main(){ double o,h,l,c; scanf("%lf %lf %lf %lf",&o,&h,&l,&c); if(c<o) printf("BW-Solid"); else if(c==o) printf("R-Cross"); else printf("R-Hollow"); if((l<o&原创 2020-11-18 21:09:47 · 112 阅读 · 0 评论 -
7-1 厘米换算英尺英寸
#include <stdio.h>int main(){ int k,f,i; scanf("%d",&k); f=k/30.48; i=12*(k/30.48-f); printf("%d %d",f,i); return 0;}原创 2020-11-17 22:56:21 · 131 阅读 · 0 评论 -
7-12 两个数的简单计算器
#include <stdio.h>int main(){ int a,b; char op; scanf("%d %c %d",&a,&op,&b); if(op=='+') printf("%d",a+b); else if(op=='-') printf("%d",a-b); else if(op=='*') printf("%d",a*b); else if原创 2020-11-13 22:29:01 · 157 阅读 · 0 评论 -
7-11 分段计算居民水费
#include <stdio.h>int main(){ double x,y; scanf("%lf",&x); if(x<=15) y=4*x/3; else y=2.5*x-17.5; printf("%.2lf",y); return 0;}原创 2020-11-13 22:28:30 · 165 阅读 · 0 评论 -
7-10 计算工资
#include <stdio.h>int main(){ int y,h,k1=0,k2=0; double sal=0; scanf("%d %d",&y,&h); if(y>=5) k1=1; if(h>40) k2=1; if(k1&&k2==0)//老员工工作不超过40小时 sal=50*h; else if(k1&&k原创 2020-11-13 22:23:50 · 143 阅读 · 0 评论 -
7-9 用天平找小球
#include <stdio.h>int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a!=b&&a!=c) printf("A"); else if(b!=a&&b!=c) printf("B"); else printf("C"); return 0;}原创 2020-11-10 20:53:10 · 112 阅读 · 0 评论 -
7-8 超速判断
#include <stdio.h>int main(){ int v; scanf("%d",&v); if(v<=60) printf("Speed: %d - OK",v); else printf("Speed: %d - Speeding",v); return 0;}原创 2020-11-10 20:52:29 · 110 阅读 · 0 评论 -
7-7 12-24小时制
#include <stdio.h>int main(){ int hh,mm; scanf("%d:%d",&hh,&mm); if(hh<12) printf("%d:%d AM",hh,mm); else if(hh==12) printf("%d:%d PM",hh,mm); else printf("%d:%d PM",hh-12,mm); return 0;}原创 2020-11-10 20:51:35 · 131 阅读 · 0 评论 -
7-6 混合类型数据格式化输入
#include <stdio.h>int main(){ double f1,f2; int k; char c; scanf("%lf %d %c %lf",&f1,&k,&c,&f2); printf("%c %d %.2lf %.2lf",c,k,f1,f2);}原创 2020-11-10 20:51:03 · 204 阅读 · 0 评论 -
7-5 表格输出
#include <stdio.h>int main(){ printf("------------------------------------\n"); printf("Province Area(km2) Pop.(10K)\n"); printf("------------------------------------\n"); printf("Anhui 139600.00 6461.00\n"); pr原创 2020-11-10 20:50:26 · 100 阅读 · 0 评论 -
7-3 逆序的三位数
#include <stdio.h>int main(){ int n,sum=0; scanf("%d",&n); while(n) { sum=sum*10+n%10; n=n/10; } printf("%d",sum); return 0;}原创 2020-11-10 20:49:29 · 168 阅读 · 0 评论 -
6-13 折半查找
int Search_Bin(SSTable T, KeyType k){ int left=1,mid,right=T.length; while(left<=right) { mid=(left+right)/2 ; if(k==T.R[mid].key) return mid ; else if (k<T.R[mid].key ) right=mid-1;原创 2020-11-10 19:37:37 · 130 阅读 · 0 评论 -
6-12 判断奇偶性
int even(int n){ int temp; if(n%2==0) temp=1; else temp=0; return temp;}原创 2020-11-10 19:37:02 · 136 阅读 · 0 评论 -
6-11 求自定类型元素序列的中位数
希尔排序ElementType Median(ElementType A[],int N){ ElementType temp; for(int gap=N/2;gap>0;gap=gap/2) { for(int i=gap;i<N;i++) { for(int j=i-gap;j>=0&&A[j]>A[j+gap];j-=gap) { temp=A[j]; A[j]=A[j+原创 2020-11-10 19:36:12 · 123 阅读 · 0 评论 -
6-9 统计个位数字
int Count_Digit ( const int N, const int D ){ int n; if(N<0) n=-N; else n=N; if(N==0&&D==0) return 1; int count=0; while(n){ if(n%10==D) count++; n/=10; } return count;}原创 2020-11-09 22:50:12 · 201 阅读 · 0 评论 -
6-8 简单阶乘计算
int Factorial(const int N){ int i,mu=0,temp; if(N==0) mu=1; else if(N>0&&N<=12) { mu=1; for(i=1;i<=N;i++) { mu*=i; } } else mu=0; return mu;}原创 2020-11-09 22:49:37 · 129 阅读 · 0 评论 -
6-7 统计某类完全平方数
int IsTheNumber(const int N){ int t=0,i=0,j=0,n,temp=0; int te[10]={0}; n=N; while(n>0) { te[i]=n%10; n=n/10; t++; i++; } if(N==(int)(sqrt(N))*(int)(sqrt(N))) { for(i=0;i<t;i++)原创 2020-11-09 22:48:23 · 106 阅读 · 0 评论 -
6-6 求单链表结点的阶乘和
int FactorialSum( List L ){ int i,b,sum = 0; while (L!=NULL) { for (i=1,b=1;i<=L->Data;i++) b *= i; sum += b; L = L->Next; } return sum;}原创 2020-11-09 22:47:48 · 89 阅读 · 0 评论 -
6-5 求自定类型元素的最大值
ElementType Max(ElementType S[],int N){ int i; ElementType max; max=S[0]; for(i=1;i<N;i++) { if(S[i]>max) { max=S[i]; } } return max;}原创 2020-11-09 22:47:16 · 76 阅读 · 0 评论 -
6-4 求自定类型元素的平均
ElementType Average(ElementType s[],int N){ ElementType sum=0; int i; for(i=0;i<N;i++) { sum+=s[i]; } return sum/N;}原创 2020-11-09 22:46:42 · 79 阅读 · 0 评论 -
6-3 简单求和
int Sum(int List[],int N){ int i,sum=0; for(i=0;i<N;i++) { sum+=List[i]; } return sum;}原创 2020-11-09 22:44:04 · 80 阅读 · 0 评论 -
6-2 多项式求值
double f(int n,double a[],double x){ double sum=0,mul=1; for(int i=0;i<=n;i++) { sum+=a[i]*mul; mul*=x; } return sum;}原创 2020-11-09 22:43:28 · 172 阅读 · 0 评论 -
6-1 简单输出整数
void PrintN(int N){ int i; for(i=1;i<=N;i++) printf("%d\n",i); return 0;}原创 2020-11-09 22:40:33 · 171 阅读 · 0 评论