易截截图软件、单文件、免安装、纯绿色、仅160KB

有道难题练习赛2中的c题

描述 给定一个整数序列,判断其中有多少个数,等于数列中其他两个数的和。 比如,对于数列1 2 3 4, 这个问题的答案就是2, 因为3 = 2 + 1, 4 = 1 + 3。 输入 第一行是一个整数T,表示一共有多少组数据。 1<= T <= 100
接下来的每组数据共两行,第一行是数列中数的个数n ( 1 <= n <= 100),第二行是由n个整数组成的数列。
输出 对于每组数据,输出一个整数(占一行),就是数列中等于其他两个数之和的数的个数。 样例输入 2
4
1 2 3 4
5
3 5 7 9 10
样例输出 2
1注意:这道题包括0和负数,故份两种情况。#include <stdio.h>
int main(){
int n,t,m,i,j,k,sum,f,T,ff;
scanf("%d",&T);
long a[200];
while(T--){
sum=0;ff=0;
scanf("%d",&n);
for(i=1; i<=n; i++){
scanf("%ld",&a[i]);
if(a[i]<=0)
ff=1;
}
for(i=1; i<n; i++)
for(j=i+1; j<=n; j++)
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
if(ff==0){
for(i=n; i>2; i--){
f=0;
for(j=i-1; j>1; j--)
for(k=i-2; k>0; k--)
if(a[i]==a[j]+a[k]){
f=1;
break;
}
if(f==1)
sum++;
}
}
else{
for(i=n; i>0; i--){
f=0;
for(j=n; j>0; j--)
for(k=n; k>0; k--)
if(a[i]==a[j]+a[k]&&i!=j&&j!=k&&i!=k){
f=1;
break;
}
if(f==1)
sum++;
}
}
printf("%d\n",sum);
}
return 0;
}



相关文档:

操作系统学习笔记(14) C和汇编相互调用

; 编译链接方法
; (ld 的‘-s’选项意为“strip all”)
; gcc -c not link
;
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd one
; [root@XXX XXX]#
exter ......

俄罗斯方块c源代码

#i nclude <stdio.h>
#i nclude <dos.h>
#i nclude <conio.h>
#i nclude <graphics.h>
#i nclude <stdlib.h>
#ifdef __cplusplus 
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
#define MINBOXSIZE  ......

20100527 C陷阱与缺陷读书笔记(一、二章)

  第一章:词法“陷阱”
  字母本身没有意思,但是将字母组成的单词就被赋予了意义。在C语言中,字符组合成了整个代码,由字符书写带来的笔误会带来不少麻烦。作为程序员,不能指望靠编译器来提醒。因此,需要注意:
  1.C语言中,符号之间的空白(包括空格符,制表符,换行符) ......

Android原生(Native)C开发之三:鼠标事件篇(捕鼠记)


在做SDL至Android的移植时,键盘事件是能正常捕获到,看了SLD的源码,发现用的device是 /dev/tty0,但是鼠标叫是不能成功捕获,总是得到 0,运行命令查看devices时,显示如下:
 # cat /proc/bus/input/devices
cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="qwerty ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号