贵工程0310

**

2020下半年ptaC语言认证

**
然后是几点:
#include<stdio.h>
int main()
{
int sta,via;
scanf("%d %d",&sta,&via);
int min,hou;
min=sta%100+via;
hou=sta/100;
if(min>=60){
int i=min/60;
hou+=i;
min%=60;
}else if(min<0){
int j=(-1min)/60+1;
hou-=j;
min=60-((-1
min)%60);
}
printf("%d",hou*100+min);
return 0;
}
WiFi密码:

#include
using namespace std;
int main() {
string s;
while (cin >> s)
if(s.size() == 3 && s[2] == ‘T’) cout << s[0]-‘A’+1;
return 0;
}
温度转化表:
#include <stdio.h>
int main()
{
int lower = 0, upper = 0;
scanf("%d %d", &lower, &upper);
if (lower <= upper) {
printf(“fahr celsius\n”);
int i = 0;
for (i = lower; i <= upper; i += 2) printf("%d%6.1lf\n", i, 5.0 * (i - 32) / 9);
}
else printf(“Invalid.\n”);
return 0;
}
阶梯电价:
#include<stdio.h>
int main()
{
int x;
double t,f;
scanf("%d",&x);
if(x<=50&&x>0)
{

	t=x*0.53;
	printf("cost = %.2lf",t);

}else if(x<0){
	printf("Invalid Value!");
	
}else{
	f=26.5+(x-50)*0.58;
	printf("cost = %.2lf",f);
	
}
return 0;

}
统计学生平均成绩:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x=0,i;
double a[10001],sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%lf",&a[i]);
if(a[i]>=60) x++;
sum+=a[i];
}
if(n0) printf(“average = 0.0\n”);
else printf(“average = %.1f\n”,sum/n);
printf(“count = %d\n”,x);
return 0;
}
统计字符:
#include<stdio.h>
int main()
{
int letter=0,blank=0,digit=0,other=0;
char a[10];
char t;
for(int i=0;i<10;i++)
{
scanf("%c",&t);
a[i]=t;
}
for(int j=0;j<10;j++)
{
if(a[j]>=‘A’&&a[j]<=‘Z’||a[j]>=‘a’&&a[j]<=‘z’){
letter++;
}
else if(a[j]
’ ‘||a[j]==’\n’)
{
blank++;
}
else if(a[j]>=‘0’&&a[j]<=‘9’)
{
digit++;
}
else
{
other++;
}
}
printf(“letter = %d, blank = %d, digit = %d, other = %d”,letter,blank,digit,other);
return 0;
}
输出闰年:
#include<bits/stdc++.h>
using namespace std;
int main(void){
int year, y, cnt = 0;

scanf("%d", &year);
y = 2000;
if(year <= 2000 || year > 2100){
	printf("Invalid year!");
}else{
	for(y = 2001; y <= year; y++){
		if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0){
			printf("%d\n", y);
			cnt++;
		}
	}
	if(cnt == 0){
		printf("None");
	}
}

return 0;

}
超速处罚:
#include<stdio.h>

int main()
{

int v,limit_v;
int d_v;
double per;

scanf("%d%d",&v,&limit_v);
d_v=v-limit_v;
per=d_v*100.0/limit_v;

if(per<10) printf("OK");
else if(per>=10&&per<50) printf("Exceed %.f%%. Ticket 200\n",per);
else if(per>=50) printf("Exceed %.f%%. License Revoked\n",per);

return 0;

}
出租车计价:
#include <stdio.h>
int main(void) {
double km;
int time;
scanf("%lf %d", &km, &time);
double km_fee, sum;
int time_fee;
if (km <= 3.0) {
km_fee = 10;
}
else if (km <= 10.0) {
km_fee = 10 + 2 * (km - 3);
}
else {
km_fee = 10 + 14 + 3 * (km - 10);
}
time_fee = 2 * (time / 5);
sum = km_fee + time_fee;
printf("%.0f\n", sum);
return 0;
}
三角形判断:
#include<stdio.h>
#include<math.h>
int main(void)
{
double x1, x2, x3, y1, y2, y3;
double a, b, c,s;
double L, A;
scanf("%lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3);
a = sqrt((x1 - x2)(x1 - x2) + (y1 - y2)(y1 - y2));
b = sqrt((x1 - x3)(x1 - x3) + (y1 - y3)(y1 - y3));
c = sqrt((x2 - x3)(x2 - x3) + (y2 - y3)(y2 - y3));
if (a + b > c&&a + c > b&&b + c > a)
{
L = a + b + c;
s = (a + b + c) / 2.0;
A = sqrt(s*(s - a)(s - b)(s - c));
printf(“L = %.2f, A = %.2f”, L, A);
}
else
printf(“Impossible”);
return 0;
}
猜数字:
#include<stdio.h>
int main()
{
int a,b,i=1,num,d=0,f=0,g=0;
scanf("%d %d",&a,&b);
if(num>=0)
{
while(i<=b)
{ scanf("\n%d",&num);
if(num>=0)
{
if(numa) break;
if(num>a) printf(“Too big\n”);
if(num<a) printf(“Too small\n”);
i++;
}
else
{ printf(“Game Over”); d=1; break;
}
}
if(d
0)
{
if(i1) printf(“Bingo!”);
if(i
2||i==3) printf(“Lucky You!”);
if(i>3&&i<=b) printf(“Good Guess!”);
if(i>b) printf(“Game Over”);
}
}
else
{
printf(“Game Over”);}
return 0;
}
一元二次方程
#include <bits/stdc++.h>
using namespace std;

int main(){

ios::sync_with_stdio(false);

double a,b,c;

cin>>a>>b>>c;

if(a==0&&b==0&&c==0){
	cout<<"Zero Equation"<<endl;
} 
else if(a==0&&b==0){
	cout<<"Not An Equation"<<endl;
}
else if(a==0){
	printf("%.2lf\n",-c/b);	
}else{
	if(b*b-4*a*c>0){
		double x1 = (-b + sqrt(b*b-4*a*c))/(2*a);
		double x2 = (-b - sqrt(b*b-4*a*c))/(2*a);
		printf("%.2lf\n",x1);
		printf("%.2lf\n",x2);
	}
	else if(b*b-4*a*c==0){
		double x = (-b)/(2*a);
		printf("%.2lf\n",x);
	}
	else{
		double res = sqrt(fabs(b*b-4*a*c))/(2*a);
		if(b!=0){
			printf("%.2lf+%.2lfi\n",(-b)/(2*a),res);
			printf("%.2lf-%.2lfi\n",(-b)/(2*a),res);
		}
		else{
			printf("%.2lf+%.2lfi\n",(b)/(2*a),res);
			printf("%.2lf-%.2lfi\n",(b)/(2*a),res);
		}
	}
}

return 0;

}
三角形面积周长
#include<stdio.h>
#include<math.h>
int main(void){
int a,b,c;
double s,C,d;
scanf("%d %d %d",&a,&b,&c);
if((a+b)>c&&(a+c)>b&&(b+c)>a){C=a+b+c;
d=(a+b+c)/2.0;
s=sqrt(d*(d-a)(d-b)(d-c));
printf(“area = %.2f; perimeter = %.2f”,s,C);
}
else printf(“These sides do not correspond to a valid triangle\n”);
}
打鱼晒网
#include<stdio.h>
int main(){
int n,a;
scanf("%d",&n);
a=n%5;
if(a4||a0){
printf(“Drying in day %d\n”,n);
}else{
printf(“Fishing in day %d\n”,n);
}
return 0;
}
计算油费
#include<stdio.h>
int main()
{
int a,b;
double sum;
char c;
scanf("%d%d %c",&a,&b,&c);
switch(b)
{
case 90:
sum=6.95;
break;
case 93:
sum=7.44;
break;
case 97:
sum=7.93;
break;
}
if(c==‘m’)
printf("%.2f\n",0.95suma);
else
printf("%.2f\n",sum0.97a);
return 0;
}
计算工资
#include<stdio.h>
int main (){
int y,h;
float s;
scanf("%d %d",&y,&h);
if(y<5){
if(h>40)s=((h-40)*1.5+40)30;
else s=h
30;
printf("%.2f",s);
}else{
if(h>40)s=((h-40)*1.5+40)50;
else s=h
50;
printf("%.2f",s);
}
}
蜡烛图
#include
using namespace std;
int main(){
float o,h,l,c;
while(cin>>o>>h>>l>>c){
if(c<o)
cout<<“BW-Solid”;
else if(c>o)
cout<<“R-Hollow”;
else
cout<<“R-Cross”;

     if(l<o&&l<c&&h>o&&h>c)
         cout<<" with Lower Shadow and Upper Shadow";
     else if(l<o&&l<c)
         cout<<" with Lower Shadow";
     else if(h>o&&h>c)
         cout<<" with Upper Shadow";
     cout<<endl;
 }
 ;

}
龟兔赛跑
#include<stdio.h>
int main(){
int min;
scanf("%d",&min);
int s1=0,s2=0,run=10,rest=-1;
while(min–){
s1+=3;
if(run–>0){
s2+=9;
}
if(run==0){
if(s2>s1&&rest!=0){
rest=30;
}
else{
run=10;
}
}
if(rest–==0){
run=10;
}
}
if(s1>s2){
printf("@@ %d",s1);
}
else if(s1<s2){
printf("_ %d",s2);
}
else{
printf("-
- %d",s2);
}

return 0;

}
币值转换
#include <stdio.h>
#include <math.h>
int main() {
int n;
scanf("%d", &n);
char *sv[10]={“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”};
char *st[8] = {“S”, “B”, “Q”, “W”, “S”, “B”, “Q”, “Y”};
int w=0;
int j;
int temp=n;
while (temp){
temp /= 10;
w++;
}
j = pow(10, w-1);

int h;
int z_c=0;

if (n==0){
	printf("a");
}

while (n){
	h = n/j;
	if (h){
		printf("%s%s", sv[h], st[w-2]);
		z_c=0;
	}else{
		if (z_c!=1){
			if (w==5){
				printf("W");
				z_c=0;
			}else{
				printf("a");
				z_c=1;
			}
		}
	}

	n = n % j;
	j /= 10;
	w--;
	if (j==1){
		if (n==0){
			break;
		}
		printf("%s", sv[n]);
		break;
	}
}
return 0;

}
单词长度
#include<stdio.h>
int main(void){
char a[100]={0};
int i=0,count=0,k=0;
while(1){
scanf("%c",&a[i]);
if(a[i]’.’)
break;
i++;
}
while(a[k]
’ ‘){
k++;
}
if(a[k] == ‘.’)
return 0;
for(int j=k;j<=i;j++){
if(a[j]!=’ ‘&&a[j]!=’.’){
count++;
}
else if(a[j]’.’){
printf("%d",count);
}
else if(a[j]
’ ‘&&a[j+1]!=’ ‘&&a[j+1]!=’.’){
printf("%d “,count);
count=0;
}
}
return 0;
}
抓老鼠啊
#include<stdio.h>
int main(void)
{
int n=1,happy=0, unhappy=0,a=0,b=0,sad=0;
char ch;
scanf(”%c",&ch);
while(ch!=’$’){
if(n1)
switch(ch){
case ‘X’: printf(“U”);unhappy=1;break;
case ‘T’: printf(“D”);sad=2;a++;b++;break;
case ‘C’: printf("!");happy=2;b++;break;
}
else
printf("-");
if(happy>0) {
happy–;
n=1;
unhappy=0;
sad=0;
}
else if(happy>0&&unhappy>0){
happy–;
unhappy–;
n=1;
}
else if(happy>0&&sad>0){
happy–;
sad–;
n=1;
}
else if (happy<=0&&unhappy>0){
happy++;
n=0;
}
else if(happy<=0&&sad>0){
sad–;
n=0;
}
else if(happy
0&&unhappy0&&sad0)
n=1;
scanf("%c",&ch);
}
printf("\n%d",a10-b3);
return 0;
}
大笨钟
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
scanf("%02d:%02d",&a,&b);
if(a<=12){
printf(“Only %02d:%02d. Too early to Dang.”,a,b);
}else if(b0){
for(int i=0;i<(a-12);i++){
printf(“Dang”);
}
}else if(b>0){
for(int i=0;i<=(a-12);i++){
printf(“Dang”);
}
谁先到
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
int main(){
int a,b,n,c,d,e,f,cnt1=1,cnt2=1,i,j;
scanf("%d%d%d",&a,&b,&n);
i=a,j=b;
while(n–){
cnt1=1,cnt2=1;
scanf("%d%d%d%d",&c,&d,&e,&f);
if(d
c+e) cnt1=0;
if(fc+e) cnt2=0;
if(cnt1
cnt2)
continue;
else {
if(cnt1>cnt2)
b–;
else a–;
}
if(a==-1||b==-1)
break;
}
if(a==-1)
printf(“A\n%d”,j-b);
else
printf(“B\n%d”,i-a);
return 0;
}
n个数求和
#include <stdio.h>
int gcd(int a,int b)
{
if(a0)
return 0;
else
return (b
0)?a:gcd(b,a%b);
}
int main()
{
int N,i;
int gong,a,b,c,d;
scanf("%d",&N);
scanf("%d/%d",&a,&b);
int t=gcd(a,b);
if(a)
{
a/=t;
b/=t;
}
for(i=1;i<N;i++)
{
scanf("%d/%d",&c,&d);
gong=bd/gcd(b,d);
a=a
gong/b+c*gong/d;
b=gong;
int t1=gcd(a,b);
if(t1)
{
a/=t1;
b/=t1;
}
}
if(a&&a/b0)
printf("%d/%d\n",a%b,b);
else if(a%b
0)
printf("%d\n",a/b);
else
printf("%d %d/%d\n",a/b,a%b,b);
return 0;
}
查验身份证
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, i, sum = 0, cnt = 0;
string s;
int w[17] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
char z[11] = { ‘1’, ‘0’, ‘X’, ‘9’, ‘8’, ‘7’, ‘6’, ‘5’, ‘4’, ‘3’, ‘2’ };
cin >> n;
getchar();
for (int j = 0; j < n; j++) {
sum = 0;
getline(cin, s);
for (i = 0; i < 17 && s[i] >= ‘0’ && s[i] <= ‘9’; i++) {
sum += (s[i] - ‘0’) * w[i];
}
if (i == 17 && z[sum % 11] == s[17])
cnt++;
else
cout << s << endl;
}
if (cnt == n)
cout << “All passed” << endl;
return 0;
}
情人节:
#include
#include<string.h>
using namespace std;
int main()
{
int n=0;
string s1,s2,s;
for(1;s!="."😉
{
cin>>s;
n++;
if(n2) s1=s;
if(n
14) s2=s;
}
if(n>=14)cout<<s1<<" and “<<s2<<” are inviting you to dinner…"<<endl;
else if(n>2)cout<<s1<<" is the only one for you…"<<endl;
else cout<<“Momo… No one is for you …”<<endl;
}
阅览室
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int id, h, m, cnt = 0, sum = 0, isborr[1010] = {0}, time[1010] = {0};
char type, temp;
for(int day = 0; day < n; ) {
cin >> id >> type >> h >> temp >> m;
if(id == 0) {
if(cnt == 0)
printf(“0 0\n”);
else
printf("%d %d\n", cnt, (int)(1.0 * sum / cnt + 0.5));
day++;
cnt = sum = 0;
memset(isborr, 0, sizeof(isborr));
}else if(type == ‘S’) {
isborr[id] = 1;
time[id] = h * 60 + m;
}else if(type == ‘E’ && isborr[id] == 1) {
isborr[id] = 0;
sum += h * 60 + m - time[id];
cnt++;
}
}
return 0;
}
福到了
#include<stdio.h>
#include<string.h>
int main (void)
{
char a[110][110],b[110][110],t;
int i,n,j,p,c[110],index=0;
scanf("%c %d",&t,&n);
getchar();
for(i=0;i<n;i++){
gets(a[i]);
c[i]=strlen(a[i]);
j=0;
for(p=c[i]-1;p>=0;p–){
b[n-i-1][j++]=a[i][p];
}
b[n-i-1][j]=’\0’;
}
for(i=0;i<n;i++){
if(strcmp(a[i],b[i])0){
index++;
}
}
if(index
n){
printf(“bu yong dao le\n”);
}

for(i=0;i<n;i++){
	for(p=c[n-i-1]-1;p>=0;p--){
		if(b[i][p]!=' ')
		b[i][p]=t;
	}
}

for(i=0;i<n;i++){
puts(b[i]);
}
return 0;
}
幸运彩票
#include <stdio.h>
int main()
{
int a,i,n,b,c,d,e,f,x;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
a=x/100000;
b=x/10000%10;
c=x/1000%10;
d=x/100%10;
e=x/10%10;
f=x%10;
if(a+b+c==d+e+f)
{
printf(“You are lucky!\n”);
}
else
{
printf(“Wish you good luck.\n”);
}
}
return 0;
}
查询水果价格
#include<stdio.h>
int main(){
int i,j,n,a[100];
double price=0;
printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");

do{  
  scanf("%d",&a[i++]);     
}while((getchar())!='\n');  
 
for(j=0;j<5&&j<i;j++){
	if(a[j]==0){
		break;
	}  
    switch(a[j])  
    {  
        case 1:price=3;break;  
        case 2:price=2.5;break;  
        case 3:price=4.1;break;  
        case 4:price=10.2;break;  
        default:price=0.00;  
    }  
    printf("price = %.2f\n",price);
}  
return 0;  

}
计算天数
#include <stdio.h>
int main()
{
int i,year,month,day,n=0,
a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d/%d/%d",&year,&month,&day);
if((year%40&&year%100)||year%4000)
a[2]=29;
for(i=0;i<=month-1;i++)
n+=a[i];

printf("%d",n+day);

return 0;

}
简单计算器
#include<stdio.h>
int main()
{
int a,c;
char b;
scanf("%d",&a);
scanf("%c",&b);
while(b==’+’||b==’-’||b==’’||b==’/’){
scanf("%d",&c);
if(b==’+’) a+=c;
else if(b==’-’) a-=c;
else if(b==’
’) a*=c;
else if(b==’/’) {
if (c0) break;
else a/=c;
}
scanf("%c",&b);
}
if(b
’=’) printf("%d",a);
else printf(“ERROR”);
}
念数字
#include<stdio.h>
#include<string.h>
int main()
{
char num[32];
int i;
scanf("%s", num);
for (i = 0; i < strlen(num); i++)
{
switch (num[i])
{
case ‘-’:printf(“fu”); break;
case ‘0’:printf(“ling”); break;
case ‘1’:printf(“yi”); break;
case ‘2’:printf(“er”); break;
case ‘3’:printf(“san”); break;
case ‘4’:printf(“si”); break;
case ‘5’:printf(“wu”); break;
case ‘6’:printf(“liu”); break;
case ‘7’:printf(“qi”); break;
case ‘8’:printf(“ba”); break;
case ‘9’:printf(“jiu”); break;
default:break;
}
if (i < strlen(num)-1)printf(" “);
}
return 0;
}
GPLT#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int main(){
string t;
cin>>t;
int len=t.length(),g=0,p=0,l=0,t1=0;
for(int i=0;i<len;i++){
if(t[i]‘G’||t[i]‘g’) g++;
else if(t[i]‘P’||t[i]‘p’) p++;
else if(t[i]‘L’||t[i]‘l’) l++;
else if(t[i]‘T’||t[i]‘t’) t1++;
}
while(g||p||l||t1){
if(g){
printf(“G”);
g–;
}
if§{
printf(“P”);
p–;
}
if(l){
printf(“L”);
l–;
}
if(t1){
printf(“T”);
t1–;
}
}
return 0;
}
稳赢
#include<stdio.h>
#include<string.h>
int main()
{
char str[10];
int k, n = 0;
scanf(”%d", &k);
while (scanf("%s", str))
{
if (strcmp(str, “End”) == 0)break;
if (n != k)
{
if (strcmp(str, “ChuiZi”) == 0)puts(“Bu”);
else if (strcmp(str, “JianDao”) == 0)puts(“ChuiZi”);
else if (strcmp(str, “Bu”) == 0)puts(“JianDao”);
n++;
}
else { puts(str); n = 0; }
}
return 0;
}
整数的分类处理
#include<stdio.h>
int main(){
float sumt=0;
int number,maxf=0,counts=0,countt=0,temp;
scanf("%d",&number);
while(number–){
scanf("%d",&temp);
if(temp%30){
if(temp>maxf)maxf=temp;
}
else if(temp%3
1)counts++;
else{
countt++;
sumt+=temp;
}
}
maxf?printf("%d",maxf):printf(“NONE”);
counts?printf(" %d",counts):printf(" NONE");
countt?printf(" %.1f",sumt/countt):printf(" NONE");
return 0;
}
求平方
#include <stdio.h>
int main ()
{
int m,n;
scanf("%d %d",&m,&n);
double sum1=0,sum2=0,t=1,s=1,i;
for (i=m;i<=n;i++)
{
t=i*i;
sum1+=t;
}
for (i=m;i<=n;i++)
{
s=1/i;
sum2+=s;
}
printf(“sum = %.6lf”,sum1+sum2);
return 0;
}
交错序列的前
#include <stdio.h>

int main()
{
int x,y,N;
float z,sum=0;
scanf("%d",&N);

for(x=1;x<=N;x++)
{
	y=x*2-1;
    z=x*1.0/y;
	if(x%2==0)sum=sum+(-1*z);
	else sum=sum+z;
}
printf("%.3f",sum);

}
求阶乘序列
#include<stdio.h>
int main()
{
int i;
long long sum=0;
long long fac=1;
int n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
fac*=i;
sum+=fac;
}
printf("%lld\n",sum);

return 0;
}
打印沙漏
#include<bits/stdc++.h>
#include
#include
using namespace std;
int main()
{
int n;
char str[2];
cin>>n>>str;
int k=(int)sqrt((n+1)/2)-1;
int sum=k2+1;
int res=n+1-2
(k+1)(k+1);
for(int i=0;i<sum;i++)
{
if(i<=sum/2)
{
for(int j=0;j<i;j++)
cout<<" ";
for(int j=0;j<sum-2
i;j++)
cout<<str;
cout<<endl;
}
else
{
for(int j=0;j<sum-i-1;j++)
cout<<" ";
for(int j=0;j<2*i-sum+2;j++)
cout<<str;
cout<<endl;
}
}
cout<<res<<endl;
return 0;
}
求e的近似值
#include<stdio.h>

double f(int n){
double ans=1;
for(int i=1;i<=n;i++){
ans*=i;
}
return ans;
}

int main(){
int n;
scanf("%d",&n);
double sum=1.0;
for(int i=1;i<=n;i++){
sum+=1.0/f(i);
}
printf("%.8f",sum);
return 0;
}
数组循环右移
#include <stdio.h>
#include <math.h>
#define N 100
int main()
{
int a[N], i;
int n, m;
scanf("%d %d", &n, &m);

for (i = 0; i < n; ++i)
{
	scanf("%d", &a[i]);
}
if (m > n)
	m = m % n;
int k = (n - m) % n;
for (i = 0; i < n - 1; ++i)
{
	printf("%d ", a[k]);
	k = (k + 1) % n;
}
printf("%d\n", a[k]);

return 0;

}
找出最小值
#include <stdio.h>
#include <math.h>
int main()
{
int n,min,num,i,t=1;
scanf("%d",&n);
for(i=1;i<=n;i++,t++)
{
scanf("%d",&num);
if(t==1)
{
min=num;
}
if(num<min)
{
min=num;
}
}
printf(“min = %d”,min);
return 0;
}
统计素数
#include <stdio.h>
#include <math.h>
int isPrime(int n) {
int i, max;

if (n < 2) {
    return 0;
}
max = sqrt(n);
for (i = 2; i <= max; i++) {
    if (n%i == 0) {
        return 0;
    }
}

return 1;

}

int main(void) {
int m, n, count = 0, sum = 0, i;

scanf("%d %d", &m, &n);
for (i = m; i <= n; i++) {
    if (isPrime(i)) {
        count++;
        sum += i;
    }
}
printf("%d %d\n", count, sum);

return 0;

}
求分数序列前N项目和
#include <stdio.h>
int main(){
int i,N;
double sum=0, a, b;
double temp;
scanf("%d", &N);
a = 2.0;
b = 1.0;
for(i=1; i<=N; i++){
sum += a/b;
temp = a;
a = a+b;
b = temp;
}
printf("%.2f\n", sum);
return 0;
}
特殊a串
#include<stdio.h>

int main()
{
int m, n;
int sum = 0;
int he = 0;
scanf("%d %d", &m, &n);
for (int i = 0; i < n; i++)
{
sum = sum * 10 + m;
he += sum;
}
printf(“s = %d”, he);
}
高空坠球
#include<stdio.h>
#include<math.h>
int main(void){
long long high;
long long step;
scanf("%ld %ld",&high,&step);
double pass=0;
double mid=(double)high;
for(int i=0;i<step;i++){
pass=pass+mid+mid0.5;
mid=mid
0.5;
}
if(step==0) printf("%.1lf 0.0",pass);
else printf("%.1lf %.1lf",pass-mid,mid);
}
打印菱形
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i;
int j;
for(i=1;i<=n/2+1;i++)
{
for(j=1;j<=n+1-2i;j++)
printf(" ");
for(j=1;j<=2
i-1;j++)
printf("* ");

printf("\n");
}
for(i=1;i<=n/2;i++)
{
for(j=1;j<=2i;j++)
printf(" ");
for(j=2
(n/2)-1-2*(i-1);j>=1;j–)
printf("* “);
printf(”\n");
}
return 0;
}
猴子吃桃
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int i,j;
int n;
int sum=2;
scanf("%d",&n);
for(i=1;i<n;i++)
{
if(i==n-1)
sum*=2;
else
sum=sum*2+1;
}
printf("%d\n",sum);
return 0;
}
求最大最及其下标
#include<stdio.h>
int main()
{
int i, index, n;
int a[10];
scanf("%d", &n);
for(i=0; i<n; i++)
scanf("%d", &a[i]);
index=0;
for(i=1; i<n; i++)
if(a[i]>a[index])
index=i;
printf("%d %d", a[index], index);

return 0;

}
选夫婿
#include <stdio.h>
#include <stdlib.h>
struct struff
{
char name[20];
int height;
int weight;
};
struct struff s1[1001], s2[1001], st;
int main()
{
int n, i, j;
int a, b, c, d, m = 0;
scanf("%d", &n);
for(i = 0; i < n; i++)
{
scanf("%s %d %d", s1[i].name, &s1[i].height, &s1[i].weight);
}
scanf("%d%d%d%d", &a, &b, &c, &d);
for(i = 0; i < n; i++)
{
if((s1[i].height >= a && s1[i].height <= b) && (s1[i].weight >= c && s1[i].weight <= d))
{
s2[m] = s1[i];
m++;
}
}
for(i = 0; i < m - 1; i++)
{
for(j = 0; j < m - i - 1; j++)
{
if(s2[j].height > s2[j + 1].height)
{
st = s2[j];
s2[j] = s2[j + 1];
s2[j + 1] = st;
}
else if(s2[j].height == s2[j + 1].height)
{
if(s2[j]. weight > s2[j + 1].weight)
{
st = s2[j];
s2[j] = s2[j + 1];
s2[j + 1] = st;
}
}
}
}
if(m == 0)
printf(“No\n”);
else
for(i = 0; i < m; i++)
{
printf("%s %d %d\n", s2[i].name, s2[i].height, s2[i].weight);
}
return 0;
}
字符串排序
#include<stdio.h>
#include<string.h>
int main(){
int i,j;
char s[5][85],t[85];
for(i=0;i<5;i++)
scanf("%s",s[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(strcmp(s[j],s[j+1])>0){
strcpy(t,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],t);
}
printf(“After sorted:\n”);
for(i=0;i<5;i++)
printf("%s\n",s[i]);
return 0;
}
求整数段的和
#include<stdio.h>
int main()
{
int a,b,i,cot=0,sum=0;
scanf("%d %d",&a,&b);
for(i=a;i<=b;i++)
{
printf("%5d",i);
cot++;
if(cot%5==0&&i!=b)
printf("\n");
}
printf("\n");
for(i=a;i<=b;i++)
sum+=i;
printf(“Sum = %d”,sum);
return 0;
}
猜数字
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,sum=0,t;
scanf("%d",&n);
char name[n][9];
int num[n];
for(int i=0;i<n;i++){
scanf("%s %d",name[i],&num[i]);
}

for(int i=0;i<n;i++){
	sum+=num[i];
}
int ave=sum/n/2,min=999;
printf("%d",ave);
for(int i=0;i<n;i++){
	if(abs(num[i]-ave)<min){
		min=abs(num[i]-ave);
		t=i;
	}
}
printf(" %s",name[t]);
return 0;

}
求集合数据
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{

int n,i,a[10000];
double avage,sum = 0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
    scanf("%d",&a[i]);
    sum+=a[i];
}
avage = sum/n;
sum = 0;
for(i=0;i<n;i++)
{
    sum += pow(a[i]-avage,2.0);
}
avage = sum/n;
printf("%.5lf",sqrt(avage));
return 0;

}
求给定精度的
#include<stdio.h>
#include<math.h>
int main()
{
double esp=0,sum=1,d=1;
int a=1,b=1;
scanf("%lf",&esp);
while(fabs(d)>esp)
{
a=-a;
b=b+3;
d=a*1.0/b;
sum=sum+d;
}
printf(“sum = %lf”,sum);
return 0;
}
求幂级数展开
#include <stdio.h>
#include <math.h>
#define eps 1e-5
int main()
{
double x, sum = 1.0;
scanf("%lf", &x);
double result = 1.0;
int i;
for (i = 1; ; i++) {
result = (result * x) / i;
sum += result;
if (result < eps) {
break;
}
}
printf("%.4f", sum);
return 0;
}
最大公数

#include <stdio.h>
#include <math.h>

int main(){
int m,n;
scanf("%d %d",&m,&n);
int yushu;
yushu=m%n;
int x;
x=m*n;

if(yushu==0){
	printf("%d %d",n,x/n);
}else{
	
	while(yushu!=0){
		m=n;
		n=yushu;
		yushu=m%n;		 
	}
	printf("%d %d",n,x/n);
}					         
return 0;  

}
吃火锅
#include<bits/stdc++.h>
using namespace std;

int main()
{
string a,b; int cnt=0,cnt2=0,idx;
b=“chi1 huo3 guo1”;
while(getline(cin,a)&&a!=".")
{
cnt++;
if(a.find(b)!=-1)
{
cnt2++;
if(cnt2==1)
idx=cnt;
}

}
cout<<cnt<<endl;
if(cnt2==0)
cout<<"-_-#";
else
cout<<idx<<" "<<cnt2;
return 0;

}
刮刮彩票
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[3][3]={0};
int p,sum=0;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cin>>a[i][j];
sum+=a[i][j];
}
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(a[i][j]==0){
a[i][j]=45-sum;
}

	}
}
int x,y;
for(int i=0;i<3;i++){
	cin>>x>>y;
	printf("%d\n",a[x-1][y-1]); 
}
int d;
cin>>d;
int ans=0;
if(d==1){
	ans = a[0][0]+a[0][1]+a[0][2];
}
if(d==2){
	ans = a[1][0]+a[1][1]+a[1][2];
}
if(d==3){
	ans = a[2][0]+a[2][1]+a[2][2];
}
if(d==4){
	ans = a[0][0]+a[1][0]+a[2][0];
}
if(d==5){
	ans = a[0][1]+a[1][1]+a[2][1];
}
if(d==6){
	ans = a[0][2]+a[1][2]+a[2][2];
}
if(d==7){
	ans = a[0][0]+a[1][1]+a[2][2];
}
if(d==8){
	ans = a[0][2]+a[1][1]+a[2][0];
}

if(ans==6){
	cout<<"10000"<<endl;
}
if(ans==7){
	cout<<"36"<<endl;
}
if(ans==8){
	cout<<"720"<<endl;
}
if(ans==9){
	cout<<"360"<<endl;
}
if(ans==10){
	cout<<"80"<<endl;
}
if(ans==11){
	cout<<"252"<<endl;
}
if(ans==12){
	cout<<"108"<<endl;
}
if(ans==13){
	cout<<"72"<<endl;
}
if(ans==14){
	cout<<"54"<<endl;
}
if(ans==15){
	cout<<"180"<<endl;
}
if(ans==16){
	cout<<"72"<<endl;
}
if(ans==17){
	cout<<"180"<<endl;
}
if(ans==18){
	cout<<"119"<<endl;
}
if(ans==19){
	cout<<"36"<<endl;
}
if(ans==20){
	cout<<"306"<<endl;
}
if(ans==21){
	cout<<"1080"<<endl;
}
if(ans==22){
	cout<<"144"<<endl;
}
if(ans==23){
	cout<<"1800"<<endl;
}
if(ans==24){
	cout<<"3600"<<endl;
}
return 0;

}

前世档案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n;
cin>>n>>m;
char c;
getchar();
for(int i=0;i<m;i++){
int cnt = 1;
for(int j=0;j<n;j++){
c = getchar();
if(c==‘y’){
cnt = cnt2;
}
else{
cnt = cnt
2+1;
}
}
int y=pow(2,n)-1;//上一层最后一个节点编号

	cout<<cnt-y<<endl; 
	getchar();
}
return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值