#include

int main(void)
{
int T = 0, a = 0, count_a = 0, count_b = 0;
long long A[1000] = { 0 }, B[1000] = { 0 }, SUM[1000] = { 0 };

``````scanf("%d", &T);

while (T > 0)
{
a++;
scanf("%lld %lld", &A[a], &B[a]);
SUM[a] = A[a] + B[a];

T--;
}
for (T = 1; T <= a; T++)
{
printf("Case %d:\n%lld + %lld = %lld\n\n", T, A[T], B[T], SUM[T]);
}
``````

}

1个回答

----------------------biu~biu~biu~~~在下问答机器人小D，这是我依靠自己的聪明才智给出的答案，如果不正确，你来咬我啊！

#include <stdio.h> #include <string.h> int main(){ char ax[20][1000], bx[20][1000], temp[1000], a[1000], b[1000]; int n, lena, lenb; while(scanf("%d",&n)!= EOF){ for(int i = 0;i < n;i++){ scanf("%s %s",ax[i],bx[i]); } for(int i = 0;i < n;i++){ int num[1001] = {0}; strcpy(a,ax[i]); strcpy(b,bx[i]); lena = strlen(a); lenb = strlen(b); if(lena < lenb){ strcpy(temp,a); strcpy(a,b); strcpy(b,temp); lena = strlen(a); lenb = strlen(b); } int carry = 0; int len = lena; int add = 0; for(int j = 0;j < len;j++){ if(lenb > 0){ add = a[lena-1] - '0' + b[lenb-1] - '0' + carry; num[lena] = add % 10; carry = add / 10; lena--; lenb--; } else{ add = a[lena-1] - '0' + carry; num[lena] = add % 10; carry = add / 10; lena--; lenb--; } } num[0] = carry; printf("case %d:\n",i+1); printf("%s + %s = ",a,b); if(num[0] == 0){ for(int j = 1;j <= len;j++){ printf("%d",num[j]); } printf("\n"); } else{ for(int j = 0;j <= len;j++){ printf("%d",num[j]); } printf("\n"); } printf("\n"); } } return 0; } 经典的大数相加，题目如下： Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000. Output For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases. Sample Input 2 1 2 112233445566778899 998877665544332211 Sample Output Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110 程序跑图贴在下面，大牛们帮看看吧

A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. Given A, B, and n, you are to calculate the value of f(n). 超过49个数之后一定会出现和之前的数组合相同的情况，这个我可以了解，但是 为什么最多经过49个数之后一定会出现周期呢？智商太低了，跪求解释

``` #include<iostream> #include<string> using namespace std; int main() { string in; char temp; int flag, flagv; int vowel = 0; int consonant = 0; while (cin >> in) { if (in == "end") break; flag = 1; flagv = 0; temp = '~'; for (int i = 0; i < in.size(); i++) { if (in[i] == 'a'||in[i]=='e'||in[i]=='i'||in[i]=='o'||in[i]=='u') { consonant = 0; flagv = 1; vowel++; if (vowel == 3) { flag = 0; break; } } else { vowel = 0; consonant++; if (consonant == 3) { flag = 0; break; } } if (temp == in[i] &&in[i]!='e'&&in[i]!='o') { flag = 0; break; } else temp = in[i]; } cout << "<" << in << "> " << "is "; flag == 1&&flagv==1 ? cout << "acceptable" : cout << "not acceptable"; cout << endl; } return 0; } ```

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int m=0; int n=0; while(in.hasNext()){ m=in.nextInt(); n=in.nextInt(); if(m<n){ narcissus(m,n); } } } public static void narcissus(int m, int n){ int k=0; boolean mark = false; for(int i=m; i<=n; i++){ int sum=0; k=i; while(k!=0){ sum=sum+(k%10)*(k%10)*(k%10); k=k/10; } if(i==sum) { mark = true; System.out.print(i+" "); } } if(mark==false){ System.out.println("NO"); } System.out.println(); } }

import java.math.BigInteger; import java.util.Scanner; public class A1042 { private static Scanner sc; public static void main(String []args){ sc = new Scanner(System.in); BigInteger n = sc.nextBigInteger(); while(n.intValue()<=10000){ if(!n.equals(BigInteger.valueOf(1))){ n = n.multiply(n.subtract(BigInteger.valueOf(1))); } System.out.println(n); n = sc.nextBigInteger(); } } } 为什么自己运行结果是正确的却编译不通过，提示Compilation Error

![图片说明](https://img-ask.csdn.net/upload/201510/15/1444870735_573916.png) 我的代码 #include <stdio.h> int main(){ int n, i; int a, b; int x, sum; while(scanf("%d", &n) != EOF){ for (i = 0; i < n; i++){ scanf("%d", &a); for (b = 0; b < a; b++){ sum = 0; scanf("%d", &x); sum = sum + x; printf("%d", sum); printf("\n"); } } } return 0; }

#include<stdio.h> #include<string.h> main() { static char arr[20][100000]; int i,j,a,n=0,t,result=0,sum=0; scanf("%d",&t);//准备输入几行t=2 if(t>=1&&t<=20){ while(n<t){ if(scanf("%d",&i) && i>=1 && i<=100000){ // 第t输入出i个数, j =0; arr[n][j++] = i;//第一个位置记录的是 每个一维数组的长度，以免第一个元素出现0， 用strlen 会失效 while(j<=i && scanf("%d",&a)!=EOF){ if(a>=-1000 && a<=1000) arr[n][j++] = a; } } n++; } } for(i=0;i<t;i++){// t 是 输入几行 int len = arr[i][0]; int start,end,k;// 从新的位置开始统计和最大的组合序列 for(j=1;j<=len;j++){// 循环次数 for(k=j;k<len;k++){ result += arr[i][k]; if(result>sum){ sum = result; start = j; end = k; } } result = 0; } printf("Case %d:\n",i+1); printf("%d %d %d",sum,start,end); if(i+1<t){ printf("\n\n"); }else printf("\n"); sum =0; } }

#include<stdio.h> #include<string> int c[10086]; int main() { int i,j,l,n,k,h; while(scanf("%d",&n)!=EOF) { memset(c,0,sizeof(c)); c[0]=1; k=0; if(n==0) printf("1\n"); else { for(j=1;j<=n;j++) { for(i=0;i<=k;i++) { c[i]=c[i]*j; } for(h=0;h<=k;h++) { if(c[h]>9999) { c[h+1]=c[h+1]+c[h]/10000; c[h]=c[h]%10000; if(c[k+1]>0) //*为什么这个if判断不能少 按道理不是一定会有c[k+1]>0吗，没有这一句我的结果前面多了两个0*// k++; } } } for(l=k;l>=0;l--) { if(l==k) printf("%d",c[l]); else { if(c[l]<10&&c[l]>=0) printf("000%d",c[l]); else if(c[l]<100&&c[l]>=10) printf("00%d",c[l]); else if(c[l]<1000&&c[l]>=100) printf("0%d",c[l]); else if(c[l]>=1000) printf("%d",c[l]); } } printf("\n"); } } return 0; }

#include<stdio.h> int main() { long n,r; char a[10000]; while(scanf("%d%d",&n,&r) == 2) { if(n == 0) printf("0\n"); else { int i = 0; if(n<0){n=-n;printf("-");} while(n > 0) { a[i++] = n%r; n=n/r; } int j = i-1; for(; j >= 0; j--) { if(a[j] > 10) printf("%c",a[j]-10+'A'); else printf("%d",a[j]); } putchar('\n'); } } return 0; }

#include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int N,i,j,k=0; double min; while (cin >> N&&N) { double *x = new double[N]; double *y = new double[N]; double *d = new double[N*(N-1)]; for (i = 0; i < N; i++) cin >> x[i] >> y[i]; for (i = 0; i < N-1; i++) { for (j = i + 1; j < N; j++) { if (x[i] == x[j] && y[i] == y[j]) d[k] = 0; else d[k] = (x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j]); k++; } } min = d[0]; for (k = 0; k < N*(N - 1) / 2; k++) if (min > d[k]) min = d[k]; if(min!=0) min = sqrt(min)/2; cout << setprecision(2) << fixed << min << endl; delete []x, y, d; } return 0; } 连续输入两次数据： 2 1 1 1 1 为什么第一次是0.00，第二次是-nan(ind)

![图片说明](https://img-ask.csdn.net/upload/201610/14/1476440219_623656.png) import java.util.Scanner; import java.text.DecimalFormat; public class Main { public static void main(String[] agrs) { Scanner in = new Scanner(System.in); int n; int m; while(in.hasNext()){ n = in.nextInt(); m = in.nextInt(); new Arange(n,m); } } } class Arange{ Scanner in = new Scanner(System.in); DecimalFormat ft = new DecimalFormat("0.00"); int a; public Arange(int n, int m){ double sum[] = new double[n]; double sum1[] = new double[m]; int[][] s = new int[n][m]; for(int i=0; i<n; i++){ for(int j=0; j<m; j++) { s[i][j] = in.nextInt(); } } for(int i=0; i<n; i++){ sum[i]=0; for(int j=0; j<m; j++) { sum[i] += s[i][j]; } sum[i]=sum[i]/m; } for(int j=0;j<m;j++){ sum1[j]=0; for(int i=0;i<n;i++){ sum1[j] += s[i][j]; } sum1[j] = sum1[j]/n; } for(int j=0;j<n;j++){ if(j==n-1) { System.out.printf(ft.format(sum[j])); System.out.println(); }else{ System.out.printf(ft.format(sum[j])+" "); } } for(int j=0;j<m;j++){ if(j==m-1) { System.out.printf(ft.format(sum1[j])); System.out.println(); }else{ System.out.printf(ft.format(sum1[j])+" "); } } int count1=0; for(int i=0;i<n;i++){ int count=0; for(int j=0;j<m;j++){ if(s[i][j]>sum1[j]){ count++; } } if(count==m){ count1++; } } System.out.println(count1); System.out.println(); } } 哪位大神知道什么地方错了，为什么总是错误

http://acm.hdu.edu.cn/showproblem.php?pid=2022 杭电求解2022，带解析的那种，【害羞】

Java学习的正确打开方式

linux系列之常用运维命令整理笔录

Vue + Spring Boot 项目实战（十四）：用户认证方案与完善的访问拦截

Python十大装B语法
Python 是一种代表简单思想的语言，其语法相对简单，很容易上手。不过，如果就此小视 Python 语法的精妙和深邃，那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点，并附上详细的实例代码。如能在实战中融会贯通、灵活使用，必将使代码更为精炼、高效，同时也会极大提升代码B格，使之看上去更老练，读起来更优雅。 1. for - else 什么？不是 if 和 else 才

2019年11月中国大陆编程语言排行榜
2019年11月2日，我统计了某招聘网站，获得有效程序员招聘数据9万条。针对招聘信息，提取编程语言关键字，并统计如下： 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7

SQL-小白最佳入门sql查询一

“狗屁不通文章生成器”登顶GitHub热榜，分分钟写出万字形式主义大作

IT界知名的程序员曾说：对于那些月薪三万以下，自称IT工程师的码农们，其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居，但只是他们一厢情愿罢了。 此话一出，不知激起了多少(码农)程序员的愤怒，却又无可奈何，于是码农问程序员。 码农：你知道get和post请求到底有什么区别？ 程序员：你看这篇就知道了。 码农：你月薪三万了？ 程序员：嗯。 码农：你是怎么做到的? 程序员：
《程序人生》系列-这个程序员只用了20行代码就拿了冠军

11月8日，由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办，科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。 　　区块链技术被认为是继蒸汽机、电力、互联网之后，下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力，电力解决了人类基本的生活需求，互联网彻底改变了信息传递的方式，区块链作为构造信任的技术有重要的价值。 　　1

Android 9.0系统新特性，对刘海屏设备进行适配

【技巧总结】位运算装逼指南

8年经验面试官详解 Java 面试秘诀
作者 | 胡书敏 责编 | 刘静 出品 | CSDN（ID：CSDNnews） 本人目前在一家知名外企担任架构师，而且最近八年来，在多家外企和互联网公司担任Java技术面试官，前后累计面试了有两三百位候选人。在本文里，就将结合本人的面试经验，针对Java初学者、Java初级开发和Java开发，给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实

1.两种思维方式在求职面试中，经常会考察这种问题：北京有多少量特斯拉汽车？ 某胡同口的煎饼摊一年能卖出多少个煎饼？ 深圳有多少个产品经理？ 一辆公交车里能装下多少个乒乓球？ 一