#include <stdio.h>
// 返回:正数->1 负数->-1 零->0
int sign(int num){
if(num>0) return 1;
else if(num<0) return -1;
return 0;
}
int main(){
// 输入
int n;
scanf("%d",&n);
// 输出
printf("sign(%d) = %d\n",n,sign(n));
return 0;
}
#include <stdio.h>
int main(){
// 输入
int n;
scanf("%d",&n);
// 处理:无需开辟数组
int sum=0,cnt=0;
for(int i=1;i<=n;++i){
int cur;
scanf("%d",&cur);
sum+=cur;
if(cur>=60){
++cnt;
}
}
double average=0;
if(n!=0){ // 易错点
average=(double)sum/n;
}
// 输出
printf("average = %.1f\n",average);
printf("count = %d\n",cnt);
return 0;
}
#include <stdio.h>
#include <ctype.h>
int main(){
const int size=10;
// 处理:统计字符个数
int cnt[4]={0};
char cur;
for(int i=1;i<=10;++i){
cur=getchar();
if(isalpha(cur)) ++cnt[0];
else if(cur==' '|| cur=='\n') ++cnt[1];
else if(isdigit(cur)) ++cnt[2];
else ++cnt[3];
}
// 输出
printf("letter = %d, blank = %d, digit = %d, other = %d\n"
,cnt[0],cnt[1],cnt[2],cnt[3]);
return 0;
}
#include <stdio.h>
#include <stdbool.h>
// 返回:闰年->true 否则->false
bool isLeapYear(int n){
return (n%4==0 && n%100!=0) || n%400==0;
}
int main(){
// 输入
int endYear;
scanf("%d",&endYear);
// 边界处理
if(endYear<=2000 || endYear>=2101){
printf("Invalid year!\n");
return 0;
}
// 处理 输出[2001,endYear]中的闰年
bool isExist=false;
for(int i=2001;i<=endYear;++i){
if(isLeapYear(i)){
printf("%d\n",i);
isExist=true;
}
}
// 输出
if(!isExist){
printf("None\n");
}
return 0;
}
#include <stdio.h>
// 返回:百分制成绩->五分制成绩
char score2level(int score){
if(score>=90) return 'A';
else if(score>=80 && score<90) return 'B';
else if(score>=70 && score<80) return 'C';
else if(score>=60 && score<70) return 'D';
return 'E';
}
int main(){
// 输入
int score;
scanf("%d",&score);
// 输出
printf("%c\n",score2level(score));
return 0;
}
#include <stdio.h>
#define APPLE 3.00
#define PEAR 2.50
#define ORANGE 4.10
#define GRAPE 10.20
int main(){
// 输入
int order;
scanf("%d",&order);
// 输出:
// 菜单
printf("[1] apple\n");
printf("[2] pear\n");
printf("[3] orange\n");
printf("[4] grape\n");
printf("[0] exit\n");
// 查询水果价格
for(int i=0;i<5 && order!=0;++i){
switch(order){
case 1:
printf("price = %.2f\n",APPLE);
break;
case 2:
printf("price = %.2f\n",PEAR);
break;
case 3:
printf("price = %.2f\n",ORANGE);
break;
case 4:
printf("price = %.2f\n",GRAPE);
break;
default:
printf("price = 0.00\n");
}
scanf("%d",&order);
}
return 0;
}
#include <stdio.h>
#include <limits.h>
#include <math.h>
int main(){
// 输入
int nums[3];
for(int i=0;i<3;++i){
scanf("%d",&nums[i]);
}
// 处理:
// 找出最小值 最大值 总和
int max=INT_MIN;
int min=INT_MAX;
int sum=0;
for(int i=0;i<3;++i){
sum+=nums[i];
max=fmax(max,nums[i]);
min=fmin(min,nums[i]);
}
// 找出中间值
int mid=sum-max-min;
// 输出
printf("%d->%d->%d\n",min,mid,max);
return 0;
}
#include <stdio.h>
int main(){
// 输入
double speed,limit;
scanf("%lf %lf",&speed,&limit);
// 处理:计算超速百分比
double ex=100*(speed-limit)/limit;
if(ex<10){
printf("OK\n");
}else if(ex>=10 && ex<50){
printf("Exceed %.0f%%. Ticket 200\n",ex);
}else{
printf("Exceed %.0f%%. License Revoked\n",ex);
}
return 0;
}
#include <stdio.h>
int main(){
// 输入
double distance,time;
scanf("%lf %lf",&distance,&time);
// 处理:总费用=等待时间计费+里程计费
double sum=0;
// 等待时间计费:
sum+=2*(int)(time/5);
// 里程阶梯计费:
// 起步价
sum+=10;
if(distance>3 && distance<=10){
// 3-10公里
sum+=2*(distance-3);
}else if(distance>10){
// 10公里以上
sum+=14;
sum+=3*(distance-10);
}
// 输出
printf("%.0f\n",sum);
return 0;
}
#include <stdio.h>
// 返回:百分制成绩->五分制成绩
char score2level(int score){
if(score>=90) return 'A';
else if(score>=80 && score<90) return 'B';
else if(score>=70 && score<80) return 'C';
else if(score>=60 && score<70) return 'D';
return 'E';
}
int main(){
// 输入
int n;
scanf("%d",&n);
// 统计学生成绩
int cnt[5]={0};
for(int i=0;i<n;++i){
int cur;
scanf("%d",&cur);
switch (score2level(cur)){
case 'A':
++cnt[0];
break;
case 'B':
++cnt[1];
break;
case 'C':
++cnt[2];
break;
case 'D':
++cnt[3];
break;
case 'E':
++cnt[4];
break;
}
}
// 输出
for(int i=0;i<5;++i){
printf("%d",cnt[i]);
if(i<4){
printf(" ");
}
}
printf("\n");
return 0;
}