P1001 A+B Problem
点击查看代码
#include<stdio.h>
int main(){int a,b,c;scanf("%d %d", &a, &b);c = a + b;printf("%d", c);return 0;
}
点击查看代码
#include<stdio.h>int main(){int a;int i;for(i=0;i<10;i++) {scanf("%d", &a[i]);}int n;scanf("%d", &n);n+=30;int ans=0;for(i=0;i<10;i++){if(a[i]<=n) ans++;}printf("%d", ans);return 0;
}
点击查看代码
#include<stdio.h>int main(){long a,b,c,d;scanf("%ld %ld %ld", &b, &c, &d);b=b*0.2;c=c*0.3;d=d*0.5;a=b+c+d;printf("%ld", a);return 0;
}
点击查看代码
#include <stdio.h>void solve() {int n;scanf("%d", &n);if ( (n % 4 == 0 && n % 100 != 0) || n % 400 == 0) {printf("1");} else {printf("0");}
}int main() {int t=1;//scanf("%d", &t);while (t--) {solve();}return 0;
}//主要代码在void solve里面,就看这个就可以了
点击查看代码
#include<stdio.h>
int c,s=0,h=0;
int main(){ int i;for(i=1;i<=12;i++){ scanf("%d",&c); s-=c-300; if(s<0){printf("-%d",i);return 0; }else {h+=s/100;s%=100;}}printf("%d",120*h+s); return 0;
}
点击查看代码
#include <stdio.h>void solve() {int n;scanf("%d", &n);int minn = 2147483647; // int类型的最大值int i;for(i = 1; i <= n; i++){int x;scanf("%d", &x);if(x < minn){minn = x;}}printf("%d", minn);
}int main() {int t=1;//scanf("%d", &t);while (t--) {solve();}return 0;
}
点击查看代码
#include <stdio.h>void solve() {int n;scanf("%d", &n);int a[2000];int i, j;for(i = 0; i < n; i++) {scanf("%d", &a[i]);}// 冒泡排序for(i = 0; i < n - 1; i++) {for(j = 0; j < n - 1 - i; j++) {if(a[j] > a[j+1]) {int temp = a[j];a[j] = a[j+1];a[j+1] = temp;}}}double ans = 0;for(i = 1; i < n - 1; i++) {ans += a[i];}printf("%.2f", ans / (n - 2));}
int main() {int t=1;//scanf("%d", &t);while (t--) {solve();}return 0;
}
点击查看代码
#include <stdio.h>
#include <string.h>int main() {int ans = 0, pos = 0;char word[101];char s[1000002];char w[1000002] = {0}; // 当前正在构建的单词int w_idx = 0; // w 的索引int i;int ls;// 读入目标单词scanf("%s", word);getchar(); // 吸收掉 scanf 留下的换行符// 读入一整行句子fgets(s, sizeof(s), stdin);// fgets 会读入末尾的换行符,需要移除if (s[strlen(s) - 1] == '\n') {s[strlen(s) - 1] = '\0';}// 在句子末尾添加空格,以确保最后一个单词能被处理strcat(s, " ");// 将目标单词转为小写for (i = 0; i < strlen(word); i++) {if (word[i] >= 'A' && word[i] <= 'Z') {word[i] = word[i] + ('a' - 'A');}}// 将句子转为小写ls = strlen(s);for (i = 0; i < ls; i++) {if (s[i] >= 'A' && s[i] <= 'Z') {s[i] = s[i] + ('a' - 'A');}}// 遍历整个句子,提取并比较单词for (i = 0; i < ls; i++) {if (s[i] == ' ') {// 遇到空格,意味着一个单词结束w[w_idx] = '\0'; // C语言字符串以'\0'结尾// 检查 w 是否与 word 相同 (且w不能为空)if (w_idx > 0 && strcmp(w, word) == 0) {if (ans == 0) {pos = i - strlen(word);}ans++;}// 重置 w,准备下一个单词w_idx = 0;} else {// 不是空格,则加入到当前单词 w 中w[w_idx] = s[i];w_idx++;}}// 输出最终结果if (ans == 0) {printf("-1\n");} else {printf("%d %d\n", ans, pos);}return 0;
}
点击查看代码
#include <stdio.h>
#include <string.h>
#include <ctype.h>void solve() {char str;scanf("%s", str);int i;for(i = 0; str[i] != '\0'; i++){if(islower(str[i])) {putchar(toupper(str[i]));} else {putchar(str[i]);}}
}int main() {int t=1;//scanf("%d", &t);while (t--) {solve();}return 0;
}
点击查看代码
#include <stdio.h>void solve() {int n,m;scanf("%d %d", &n, &m);int a;int i;for(i = 1; i <= n; i++) {scanf("%d", &a[i]);}for(i = 1; i <= m; i++){int x;scanf("%d", &x);printf("%d\n", a[x]);}
}int main() {int t=1;//scanf("%d", &t);while (t--) {solve();}return 0;
}
点击查看代码
//这题这种方法不推荐,数据大一点就容易爆内存,所以还是建议学c++的stl中的map解法就是我标准题解中的解法
#include<cstdio>
#include<map>
using namespace std;
int n,q,p,k;
map<long long,int>b;
long long i,j;
int main()
{scanf("%d%d",&n,&q);while(q--){scanf("%d%d%d",&p,&i,&j);if(p==1){scanf("%d",&k);b[i*1000000+j]=k;}else printf("%d\n",b[i*1000000+j]);}return 0;
}
点击查看代码
#include <stdio.h>int dx = {-1, -1, -1, 0, 0, 1, 1, 1};
int dy = {-1, 0, 1, -1, 1, -1, 0, 1};
//八方搜索
char a;
char ans;int inmap(int x, int y, int n, int m){return x >= 0 && x < n && y >= 0 && y < m;
};
//标准坐标在地图里面
void solve() {int n,m;scanf("%d %d", &n, &m);int i, j, k;for(i = 0; i < n; i++) {scanf("%s", a[i]);}for(i = 0; i < n; i++){for(j = 0; j < m; j++){if(a[i][j] == '*'){ans[i][j] = '*';} else {int cnt = 0; for(k = 0; k < 8; k++){int xx = dx[k] + i;int yy = dy[k] + j;if(inmap(xx, yy, n, m) && a[xx][yy] == '*'){cnt++; }}ans[i][j] = '0' + cnt;}}}for(i = 0; i < n; i++){for(j = 0; j < m; j++){putchar(ans[i][j]);}putchar('\n');}
}int main() {int t=1;//scanf("%d", &t);while (t--) {solve();}return 0;
}