scanf

7-6输出数组元素

独自空忆成欢 提交于 2020-02-16 17:12:33
输入 10 5 1 7 14 6 36 4 28 50 100 输出 - 4 6 7 - 8 30 - 32 24 22 50 #include<stdio.h> int main(){ int n,a[20],z,i,count=0; scanf("%d\n",&n); scanf("%d",&a[0]); for(i=1;i<n;i++){ scanf("%d",&a[i]); z=a[i]-a[i-1]; count++; if(count%3==0) printf("%d\n",z); else{ printf("%d ",z); } } return 0; } 来源: CSDN 作者: weixin_43816786 链接: https://blog.csdn.net/weixin_43816786/article/details/104340552

scanf() leaves the new line char in the buffer

陌路散爱 提交于 2020-02-16 11:31:28
问题 I have the following program: int main(int argc, char *argv[]) { int a, b; char c1, c2; printf("Enter something: "); scanf("%d",&a); // line 1 printf("Enter other something: "); scanf("%d", &b); // line 2 printf("Enter a char: "); scanf("%c",&c1); // line 3 printf("Enter another char: "); scanf("%c", &c2); // line 4 printf("Done"); // line 5 system("PAUSE"); return 0; } As I read in the C book, the author says that scanf() left a new line character in the buffer, therefore, the program does

学生登陆系统

十年热恋 提交于 2020-02-16 09:56:57
#include"stdio.h" #include"stdlib.h" #include"string.h" #include"conio.h" #define PAGE 3 #define MAX 1000 #define N 5 int k=0; typedef struct { int num; char name[20]; char sex[5]; int age; char studentclass[20]; int score; }STUDENTS; int read_file(STUDENTS stu[]) { FILE *fp; int i=0; if((fp=fopen("stu.txt","rt"))==NULL) {printf("\n\n*****库存文件不存在!请创"); return 0; } while(feof(fp)!=1) { fread(&stu[i],sizeof(STUDENTS),1,fp); if(stu[i].num==0) break; else i++; } fclose(fp); return i; } void save_file(STUDENTS stu[],int sum) {FILE*fp; int i; if((fp=fopen("stu.txt","wb"))==NULL) {printf("写文件错误!\n");

敌兵布阵 (树状数组&线段树入门)

我只是一个虾纸丫 提交于 2020-02-15 16:54:34
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第3个营地到第10个营地共有多少人!”Tidy就要马上开始计算这一段的总人数并汇报。但敌兵营地的人数经常变动,而Derek每次询问的段都不一样,所以Tidy不得不每次都一个一个营地的去数,很快就精疲力尽了,Derek对Tidy的计算速度越来越不满:"你个死肥仔,算得这么慢,我炒你鱿鱼!”Tidy想:“你自己来算算看,这可真是一项累人的工作!我恨不得你炒我鱿鱼呢!”无奈之下,Tidy只好打电话向计算机专家Windbreaker求救,Windbreaker说:“死肥仔,叫你平时做多点acm题和看多点算法书,现在尝到苦果了吧!”Tidy说:"我知错了。。。"但Windbreaker已经挂掉电话了。Tidy很苦恼,这么算他真的会崩溃的,聪明的读者,你能写个程序帮他完成这项工作吗

HDU 1166 敌兵布阵(线段树,树状数组)

橙三吉。 提交于 2020-02-15 16:10:03
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 18473 Accepted Submission(s): 8034 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第3个营地到第10个营地共有多少人!”Tidy就要马上开始计算这一段的总人数并汇报。但敌兵营地的人数经常变动,而Derek每次询问的段都不一样,所以Tidy不得不每次都一个一个营地的去数,很快就精疲力尽了,Derek对Tidy的计算速度越来越不满:"你个死肥仔,算得这么慢,我炒你鱿鱼!”Tidy想:“你自己来算算看,这可真是一项累人的工作!我恨不得你炒我鱿鱼呢!”无奈之下

hdu 1166 敌兵布阵——(区间和)树状数组/线段树

孤街醉人 提交于 2020-02-15 16:05:40
pid=1166">here:http://acm.hdu.edu.cn/showproblem.php?pid=1166 Input 第一行一个整数T。表示有T组数据。 每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地。接下来有N个正整数,第i个正整数ai代表第i个工兵营地里開始时有ai个人(1<=ai<=50)。 接下来每行有一条命令。命令有4种形式: (1) Add i j,i和j为正整数,表示第i个营地添加j个人(j不超过30) (2)Sub i j ,i和j为正整数,表示第i个营地降低j个人(j不超过30); (3)Query i j ,i和j为正整数,i<=j,表示询问第i到第j个营地的总人数; (4)End 表示结束。这条命令在每组数据最后出现; 每组数据最多有40000条命令 Output 对第i组数据,首先输出“Case i:”和回车, 对于每一个Query询问,输出一个整数并回车,表示询问的段中的总人数,这个数保持在int以内。 Sample Input 1 10 1 2 3 4 5 6 7 8 9 10 Query 1 3 Add 3 6 Query 2 7 Sub 10 2 Add 6 3 Query 3 10 End Sample Output Case 1: 6 33 59 WAY one: 这就是一个区间求和问题

2017百度之星 资格赛

一曲冷凌霜 提交于 2020-02-15 15:02:34
1001 度度熊保护村庄 Accepts: 26 Submissions: 703 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 哗啦啦村袭击了喵哈哈村! 度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村。 但是度度熊发现,这是一场旷日持久的战斗,所以度度熊决定要以逸待劳,保存尽量多的体力,去迎战哗啦啦村的战士。 于是度度熊决定派尽量多的人去休息,但是同时也不能松懈对喵哈哈村的保护。 换句话而言,度度熊希望尽量多的人休息,而且存在一个包围圈由剩下的人组成,且能够恰好的包围住喵哈哈村的所有住房(包括边界)。 请问最多能让多少个人休息呢? Input 本题包含若干组测试数据。 第一行一个整数n,表示喵哈哈村的住房数量。 接下来n行,每行两个整数(x1[i],y1[i]),表示喵哈哈村的住房坐标。 第n+1行一个整数m,表示度度熊的士兵数量。 接下来m行,每行两个整数(x2[i],y2[i]),表示度度熊伙伴的坐标。 满足: 1<=n,m<=500 -10000<=x1[i],x2[i],y1[i],y2[i]<=10000 Output

浴谷P1540 机器翻译

痞子三分冷 提交于 2020-02-15 12:36:56
浴谷P1540 机器翻译 #include<bits/stdc++.h> using namespace std; int m; int n; queue<int> memory; bool inQueue[100003]; int main() { scanf("%d %d",&m,&n); int cnt=0; for(int i=0;i<n;i++){ int x; scanf("%d",&x); if(!inQueue[x]){ cnt++; memory.push(x); inQueue[x]=true; if(memory.size()>m){ inQueue[memory.front()]=false; memory.pop(); } } } cout<<cnt<<endl; return 0; } 来源: CSDN 作者: weixin_44026260 链接: https://blog.csdn.net/weixin_44026260/article/details/104309619

日常

*爱你&永不变心* 提交于 2020-02-15 07:16:57
混合使用getchar()函数与scanf()函数的注意点 getchar()不会跳过空格、制表符、换行符而scanf()会。 输入验证 使用putchar()函数将要求输入整数的程序的错误输入的字符打印出来 来源: CSDN 作者: 天光渐寒 链接: https://blog.csdn.net/m0_45858339/article/details/104311963

[机房练习赛7.26] YYR字符串

拜拜、爱过 提交于 2020-02-15 06:02:18
1 无尽的矩阵 (matrix.c/cpp/pas) 1.1 题目描述 从前有一个的小矩阵,矩阵的每个元素是一个字母(区分大小写),突然有一天它发生了变异,覆盖了整个二维空间,即不停自我复制产生相同的矩阵然后无隙放置。现在二维空间已经被它占领了,但你只被告知了大小为R*C空间的内容(可能包含不完整的原矩阵),为了将它恢复原状,你需要找到满足条件的面积最小的原矩阵。 奇怪的是,同时有 T 个二维空间发生了变异,你需要尽快解决这些变异。 1.2 输入格式 第一行为一个整数T,表示二维空间数目。 接下来T组数据。每组数据第一行包含两个数 R,C,表示你被告知的空间大小;接下来 R 行,每行包含 C 个字母,表示你被告知的空间内容。 1.3 输出格式 对于每一组数据输出一行,每行只包含一个数,表示最小的原矩阵面积。 1.4 样例输入 2 2 5 ABABA ABABA 2 8 ABCDEFAB AAAABAAA 1.5 样例输出 2 12 1.6 数据范围与约定 对于前20%的数据R<=20,C<=20; 对于前40%的数据R<=400,C<=100; 对于100%的数据R<=5000 ,C<=100,T<=50。 将每一行hash 为一个数,对得到的新数组直接跑KMP 求最小循环节长度,列 同理。将两次求得的最小循环节长度相乘即为答案。这就是std 做法。 满分 1 #include