
#include<stdlib.h>
int main()
{
int a[10],i=0
while(i<10)
scanf("%d",a+i++)
i=0
while(i<10)
printf("%d\t",*(a+i++))
system("pause")
}
scanf函数输入表应该是地址表,数组名是地址常量,a + i++ 是基地址a加偏移量i,本身是地址量。
&a[i+1] i 值没有变化,循环不能停止。
a+ii 值没有变化,循环不能停止。
&a[++i] i 因为先加 1 ,数组最后一个值放在a[9]后面的位置,数组已经超界。
它们在语法上没有错误,但运行时会出问题,是属于动态错误。这道题目出的很好。
答案在里面:下面程序的功能是多次输入x与y的值,并求x与y之积,请填空完善程序。
int mul(int a,int b)
{int c
c=a+b
return (c*c-a*a-b*b)/2 //如果题目是求和 改为return c你 *** 错了吧
}
void main()
{ int x,y,z
scanf("%d%d",&x,&y)
while(x!=0)
{ z=mul(x,y)
printf("%d*%d=%d",x,y,z)
scanf("%d%d",&x,&y)
}
}
以下程序打印如下图案,程序运行后,输入4给变量n,请填空。
*
* * *
* * * * *
* * * * * * *
#include<stdio.h>
#define S ' '
void main()
{ int n,i,j
printf("Enter n:")scanf("%d",&n)
for(i=1i<=ni++)
{ for(j=1 j<=n j++)putchar(S)
for(j=1 j<=n*2j++)putchar('*')
putchar('\n')
}
}
以下函数返回a所指数组中最小的值所在的下标值,请把程序补充完整。
fun(inta[] , int n)
{int i,j=0,p
p=j
for(i=ji<ni++)
if(a[i]<a[p])_ _ p=i___
return(p)
}
7、以下程序段给数组所有的元素输入数据,输出所有元素之和。请将正确答案填入。
#include<stdio.h>
main()
{ int a[10],i=0,s=0
while(i<10)
{ scanf("%d", &a[i]
s=s+a[i]
i =i+1
}
printf("%d",s)
}
8、 下面程序用于计算1+(1+2)+(1+2+3)+……+(1+2+3+……+10),请填空完善函数。
#include<stdio.h>
void main()
{ int total,sum,m,n
total=0
for(m=1m<=10m++)
{ sum=0
for(n=1n<=mn++)
sum=sum+n
total= total+sum
}
printf("total=%d\n",total)
}
以下程序的功能是:键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成
绩,当输入负数时结束输入.请填空.
main()
{ float x,amax,amin
scanf("%f",&x)
amax=x
amin=x
while(x>=0 )
{ if(x>amax)amax=x
if( x<ammin ) amin=x
scanf("%f",&x)
}
printf("\namax=%f\namin=%f\n",amax,amin)
}
12、下面程序将一个已知字符串第n个字符开始的剩余字符复制到另一个字符串中。请填空完善程序。
#include"string.h"
#include<stdio.h>
main()
{char a[80],b[80],*p,*q
int n,k
gets(a) scanf("%d",&n)
p=a q=b
p+=n-1
while(*p!= '\0' )
{*q=*p
q++p++
}
*q = '\0'
puts(b)
}
13、设以下程序段的输出结果为15,请将正确答案填入。
#include<stdio.h>
#define MIN(x,y) (x)<(y)? (x):(y)
main()
{ int i=15, kfloat j=1.5
k=10*(MIN( i, j))
printf("%d\n",k)}
以下程序用来统计文件中字符个数。请填空:
#include"stdio.h"
main( )
{FILE *fp; long num=0L;
if((fp=fopen("fname.dat","r")==NULL)
while(_______!feof(fp)_________)
printf("num=%ld\n",num-1);
fclose(fp);
}
16、以下程序输入一行字符,判断其是否对称,是则输出Yes,否则输出No。
#include <stdio.h>
#include <string.h>
main()
{
char a[80]int n, i
gets( a )
n = strlen(a)
for ( i = 0i <n/2i++ )
if ( a[i] != a[n-1-i] )
break
if ( i==n/2 )
printf( "No\n" )
else
printf( "Yes\n" )
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)