竞赛:洛谷,牛客竞赛,信息学一本通

2025.9.1--9.8的部分练习,零零碎碎的

一.c入门

第一个程序

#include <iostream>   // 头⽂件

using namespace std; // 使⽤ std 的名字空间

int main()

{

cout << "hello world!" << endl;

return 0;

}

习题

//输入三个整数 
//输入三个整数,整数之间由一个空格分隔。把第二个输入的整数输出。
//
//输入格式
//只有一行,共三个整数,整数之间由一个空格分隔。
//
//输出格式
//只有一行,一个整数,即输入的第二个整数。

//#include <iostream>
//using namespace std;
// 
// int main()
// {
////     int n1;
////     int n2;
////     int n3;
//     int n1,n2,n3;
//     //输入数据
//     cin >> n1;
//     cin >> n2;
//     cin >> n3;
//     //输出 
//     cout << n2;
//     
//     return 0;
//  } 

//#include <iostream>
//using namespace std;
// 
// int main()
// {
////     int n1;
////     int n2;
////     int n3;
//     int n1,n2,n3;
//     //输入数据
//     cin >> n1 >> n2;
//     //输出 
//     cout << n2 << endl;
//     
//     return 0;
//  }   

////给定一个字符,用它构造一个底边长 5 个字符,高 3 个字符的等腰字符三角形。
//
//输入格式 
//输入只有一行,包含一个字符
//
//输出格式 
//该字符构成的等腰三角形,
//底边长 5 个字符,高 3 个字符。


#include <iostream>
using namespace std;
 
int main()
{
    //输入--字符--char
    char ch;
    cin >> ch;
    
    //输出
    cout << "  "<< ch <<"  "<<endl;
    cout << " "<< ch << ch << ch <<" "<<endl;
    cout << ch << ch << ch << ch << ch <<endl;
     
    //右边空格可不打印
    return 0;
}

 

//牛牛刚刚出生,嗷嗷待哺,一开始他只能学说简单的数字,你跟他说一个整数,他立刻就能学会。
//
//输入一个整数 
//??
//n,输出这个整数。

#include <iostream>
using namespace std;

 

 int main()
 {
     int num;
     //输入
    cin >> num;
    //
    cout<< num; 
     
     return 0;
 }

//输入一个 ASCII 码,输出对应的字符。
//一个整数,即字符的 ASCII 码,保证存在对应的可见字符。
//一行,包含相应的字符。

#include <iostream>
using namespace std;

int main()
{
    int num;
    cin >> num;
    
    char ch =num;
    cout << ch <<endl;
    
    return  0;
}

注意!!!

输入的是整数就需要整型int

输入三个数,反序输出这三个数。

#include <iostream>
using namespace std;

int main()
{
    int a,b,c;
    //入 
    cin >> a >> b >> c;
    //出
    cout << c << " " << b << " " << a;
    
    return 0;
}

整型类型存储空间大小

//分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

#include <iostream>
using namespace std;

int main()
{
    int n;
    short s;
    cout << sizeof(n) << " " << sizeof(s) << endl;
    
    return 0;
}

考察sizeof

//鸡兔同笼
// 
//#include <iostream>
//using namespace std;
//
//int main()
//{
//    int j = 0;
//    int t = 0;
//    int h = 35;
//    int f = 94;
//    t =(f - 2*35)/2;
//    j = h - t;
//    
//    cout << t <<' '<< j <<endl;
//    
//    
//    return 0;
//}

//给定 3 个整数 a,b,c,
//计算表达式 (a+b)×c 的值。
//输入仅一行,包括三个整数 a,b,c,
//数与数之间以一个空格分开。

//#include <iostream>
//using namespace std;
//
//int main()
//{
//    int a,b,c;
//    //输入
//    cin >> a >> b >> c;
//    //计算
//    int ret = (a + b) * c;
//    //输出
//    cout << ret << endl;
//
//    
//    return 0;
// } 

 

//给定被除数和除数,
//求整数商及余数。
//此题中请使用默认的整除和取余运算,
//无需对结果进行任何特殊处理。

#include <iostream>
using namespace std;

int main()
{
    int a, b;
    //入
    cin >> a >> b;
    //输出
    cout << a / b << " " << a % b << endl;
    
    return 0;
}

输入一个整数a,求个位数
输入整数在int范围内
 

#include <iostream>
using namespace std;


int main()
{
   int a = 0;
   cin >> a;
   //计算
   cout << a %10 << endl;     
   
    return 0;
 } 
 

//输入一个整数,输出其十位


 
//#include <iostream>
//using namespace std;
//
//int main()
//{
//    int a;
//    cin >>a;
//    cout << (a / 10) %10 <<endl;
//    
//  return 0;
//}

//时间转换
//给定时间秒数seconds,把秒换为小时,分钟和秒 

#include <iostream>
using namespace std;

int sec;

int main()
{
    //60秒为1分钟,seconds/60 ,分钟换小时/60 
    cin >>sec;
    
    int h = sec / 60 / 60;
    int m = sec / 60 % 60;
    int s = sec % 60;
    
    //输出
    cout << h << " " << m << " " << s << endl; 
    
    return 0;
 } 

//小鱼游泳,24小时制,a时b分 到 c时d分 
//算小鱼这一天游了多少分钟
//输入,
//一行输入4个整数,以空格隔开,表示a,b,c,d 
//输出
//输出e,f,以空格隔开,
//依次 表示小鱼这一天游了多少小时多少分钟 
//f <= 60,结束时间晚于开始时间 

#include <iostream>
using namespace std;

int a,b,c,d;
int main()
{
    cin >> a >> b >> c >> d;
    
    int t1 = a * 60 + b;
    int t2 = c * 60 + d;
    int t = t2 - t1;
    int e = t / 60;
    int f = t % 60;
    
    cout << e <<" " << f << endl; 
    
    
    return 0;
 } 

//练习
//账户 余额
//小明账户余额有100原,经过了以下操作
//往里面存了10 元
//购物花了20元
//把里面的钱全部取出
//请在每次操作后输出账户余额 
 //balance---余额 
 
#include <iostream>

using namespace std; 
int main()
{
    int balance = 100;
    
    //1
    balance += 10;
    cout << balance << endl;
    
    //2
    balance -= 20;
    cout << balance << endl;
    
    //3
    balance = 0;
    cout << balance << endl;
    
    
    return 0;
 } 

//输入两个正整数a和b,试交换a、b的值(使a的值等于b,b的值等于a)。
//输入
//输入两个正整数a和b。
//输出a与b交换值后的结果。

#include <iostream>
using namespace std;

int main()
{
    int a, b;
    
    cin >> a >> b;
    
    //交换
    //a = b;
    //b = a;---错误 
    //直接交换会乱,显示 都是20 
    
    //创建有中介体c 
    int c = 0;
    c = a;
    a = b;
    b = c;
    
    cout << a << " " << b << endl; 
    
    return 0;
}

 

//练习计算成绩
//总成绩=作业成绩(60)*20% + 小测成绩(90)*30% + 期末成绩(80)*50%
//这门课程最终能得多少分 

#include <iostream>
using namespace std;

int a, b, c;
int main()
{
    //输入成绩
    cin >> a>> b >> c;
    //计算
    int r = (int)(a * 0.2 + b * 0.3 + c * 0.5);
    //强制类型 转换 
    
    cout << r << endl; 


    return 0;
}
 

//输入一个双精度浮点度,将其向零舍入的含义是
//正数向下舍入,负数向上舍入
//输入--一个双精度浮点数x
//输出--一个整数,即向零舍入到整数的结果

#include <iostream>
using namespace std;

int main()
{
    double x;//双精度浮点数 
    
    cin >> x;
    long long r = (long long)x;
    //强制类型转换 若使用int,数值较大时就会错误 
    cout << r <<endl; 
    
    
    return 0;
 } 

更多推荐