1、下面程序段可实现求10!
int s=1,i=1;
for(;i<=10;)
s*=i; i++;
2、以下程序段可给数组x的所有元素输入数据。
int x[10], i=0;
do {scanf("%d", x[i]);i++;}
while(i<10);
4、下面程序的功能是求一个4x4数组的两条对角线上所有元素之和。
#include<stdio.h>
main()
{ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j,s=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(i==j||i+j=3)s+=a[i][j];
printf("%d",s);
}
5、9、以下程序段能正确的给数组a输入数据。
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",a[i]);
第1个回答 推荐于2016-06-21
1、 {s*=i; i++;},漏了花括号,不会执行i++;死循环。
2、do {scanf("%d", &x[i]);i++;},scanf()参数要取地址,可以x+i。
3、if(i==j||i+j==3)s+=a[i][j]; 应该i+j== 3,不是赋值。
4、scanf("%d",&a[i]);,scanf()参数要取地址,可以a+i。追问
2、do {scanf("%d", &x[i]);i++;},scanf()参数要取地址,可以x+i。
3、if(i==j||i+j==3)s+=a[i][j]; 应该i+j== 3,不是赋值。
4、scanf("%d",&a[i]);,scanf()参数要取地址,可以a+i。追问
2和4的可以x+i、可以a+i
是什么意思啊
数组名代表第一个元素的地址,加一个整数表示指针往后移多少个元素。
本回答被提问者采纳第2个回答 2015-01-14
1, 缺少括号
int s=1,i=1;for(;i<=10;) {
s*=i; i++;
}
2. 少了取地址 &x[i] 或写成 x+i
int x[10], i=0;
do {scanf("%d", &x[i]);i++;}
while(i<10);
4. 关系运算 == 写成了赋值 = ( i+j == 3 )
main()
{ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j,s=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(i==j||i+j==3)s+=a[i][j];
printf("%d",s);
}
5. 同2